summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2011-05-27 20:11:27 +0000
committerEvan Cheng <evan.cheng@apple.com>2011-05-27 20:11:27 +0000
commit518bcd0ef45eced49831cf23925ee482d9bbae74 (patch)
tree4ee469158dcffc70f3bbe8684719e65ea144a1da
parent63a9cef5c2857c94f26619ec926323b8624854a8 (diff)
downloadbcm5719-llvm-518bcd0ef45eced49831cf23925ee482d9bbae74.tar.gz
bcm5719-llvm-518bcd0ef45eced49831cf23925ee482d9bbae74.zip
Don't use movw / movt for iOS static codegen for now to workaround some tools issues. rdar://9514789
llvm-svn: 132211
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp3
-rw-r--r--llvm/test/CodeGen/ARM/movt-movw-global.ll8
2 files changed, 6 insertions, 5 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 5c1cdedd84a..682af2f6b81 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -2082,7 +2082,8 @@ SDValue ARMTargetLowering::LowerGlobalAddressDarwin(SDValue Op,
MachineFunction &MF = DAG.getMachineFunction();
ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>();
- if (Subtarget->useMovt()) {
+ // FIXME: Enable this for static codegen when tool issues are fixed.
+ if (Subtarget->useMovt() && RelocM != Reloc::Static) {
++NumMovwMovt;
// FIXME: Once remat is capable of dealing with instructions with register
// operands, expand this into two nodes.
diff --git a/llvm/test/CodeGen/ARM/movt-movw-global.ll b/llvm/test/CodeGen/ARM/movt-movw-global.ll
index 5795c7b5c96..991d728ddda 100644
--- a/llvm/test/CodeGen/ARM/movt-movw-global.ll
+++ b/llvm/test/CodeGen/ARM/movt-movw-global.ll
@@ -16,8 +16,8 @@ entry:
; IOS-PIC: movw r0, :lower16:(L_foo$non_lazy_ptr-(LPC0_0+8))
; IOS-PIC-NEXT: movt r0, :upper16:(L_foo$non_lazy_ptr-(LPC0_0+8))
-; IOS-STATIC: movw r0, :lower16:_foo
-; IOS-STATIC-NEXT: movt r0, :upper16:_foo
+; IOS-STATIC-NOT: movw r0, :lower16:_foo
+; IOS-STATIC-NOT: movt r0, :upper16:_foo
ret i32* @foo
}
@@ -32,8 +32,8 @@ entry:
; IOS-PIC: movw r1, :lower16:(L_foo$non_lazy_ptr-(LPC1_0+8))
; IOS-PIC-NEXT: movt r1, :upper16:(L_foo$non_lazy_ptr-(LPC1_0+8))
-; IOS-STATIC: movw r1, :lower16:_foo
-; IOS-STATIC-NEXT: movt r1, :upper16:_foo
+; IOS-STATIC-NOT: movw r1, :lower16:_foo
+; IOS-STATIC-NOT: movt r1, :upper16:_foo
store i32 %baz, i32* @foo, align 4
ret void
}
OpenPOWER on IntegriCloud