[PATCH] D64621: [ARM] Make sure that the constant pool does not keep in the middle of an IT block.

Simi Pallipurath via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 12 02:28:49 PDT 2019


simpal01 created this revision.
simpal01 added reviewers: stoklund, t.p.northover, efriedma.
Herald added subscribers: llvm-commits, hiraditya, kristof.beyls, javed.absar.
Herald added a project: LLVM.

This change make sure that llvm does not emit an invalid IT block by putting the constant pool in the middle of an IT block. We have code to try to avoid putting a constant island in the middle of an IT block, but it only works if we see an IT between the one currently referencing CPE and possible insertion point. If the first instruction we look at is the VLDRD after the IT , we never see the IT and does not realize that the instruction doing the load could be in an IT block itself.


Repository:
  rL LLVM

https://reviews.llvm.org/D64621

Files:
  llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
  llvm/test/CodeGen/ARM/constant-islands-split-IT.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64621.209427.patch
Type: text/x-patch
Size: 5168 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190712/995e5f46/attachment.bin>


More information about the llvm-commits mailing list