Mark the LDR instruction with isReMaterializable, as it is rematerializable
authorDan Gohman <gohman@apple.com>
Fri, 9 Oct 2009 23:28:27 +0000 (23:28 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 9 Oct 2009 23:28:27 +0000 (23:28 +0000)
when loading from an invariant memory location.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83688 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrInfo.td

index da048be20caec7cb426926856062a5fbc0036ae0..580ead8ec0b386ba3b27f7aec68c0539bb101332 100644 (file)
@@ -756,7 +756,7 @@ let isBranch = 1, isTerminator = 1 in {
 //
 
 // Load
-let canFoldAsLoad = 1 in 
+let canFoldAsLoad = 1, isReMaterializable = 1 in 
 def LDR  : AI2ldw<(outs GPR:$dst), (ins addrmode2:$addr), LdFrm, IIC_iLoadr,
                "ldr", " $dst, $addr",
                [(set GPR:$dst, (load addrmode2:$addr))]>;