Use ldr.n to workaround a darwin assembler bug.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 4 Nov 2009 00:00:39 +0000 (00:00 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 4 Nov 2009 00:00:39 +0000 (00:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85980 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrThumb.td

index d353334ce534b5bc0dbe7406a8289fb3dd99449d..ba68f8fabf41f77da67bfde5252d25bcec9a8fcd 100644 (file)
@@ -326,9 +326,10 @@ def tRestore : T1pIs<(outs tGPR:$dst), (ins t_addrmode_sp:$addr), IIC_iLoadi,
                     "ldr", "\t$dst, $addr", []>;
 
 // Load tconstpool
+// FIXME: Use ldr.n to work around a Darwin assembler bug.
 let canFoldAsLoad = 1 in
 def tLDRpci : T1pIs<(outs tGPR:$dst), (ins i32imm:$addr), IIC_iLoadi,
-                  "ldr", "\t$dst, $addr",
+                  "ldr.n", "\t$dst, $addr",
                   [(set tGPR:$dst, (load (ARMWrapper tconstpool:$addr)))]>;
 
 // Special LDR for loads from non-pc-relative constpools.