summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-08-06 11:13:06 +0000
committerTim Northover <tnorthover@apple.com>2014-08-06 11:13:06 +0000
commitd4d294dd51194d7c90ecf41a0a103b21293f2897 (patch)
tree0a0c7b2e8ad813a0860d837422a1d4fcee36c4b7 /llvm/lib
parentf089ab70f4670dff148c210683964556f7e18d4c (diff)
downloadbcm5719-llvm-d4d294dd51194d7c90ecf41a0a103b21293f2897.tar.gz
bcm5719-llvm-d4d294dd51194d7c90ecf41a0a103b21293f2897.zip
ARM-MachO: materialize callee address correctly on v4t.
llvm-svn: 214958
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 3e53af42b89..618e39a1aec 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -1666,7 +1666,10 @@ ARMTargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI,
if (isStub && Subtarget->isThumb1Only() && !Subtarget->hasV5TOps()) {
assert(Subtarget->isTargetMachO() && "WrapperPIC use on non-MachO?");
Callee = DAG.getNode(ARMISD::WrapperPIC, dl, getPointerTy(),
- DAG.getTargetGlobalAddress(GV, dl, getPointerTy()));
+ DAG.getTargetGlobalAddress(GV, dl, getPointerTy(),
+ 0, ARMII::MO_NONLAZY));
+ Callee = DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(), Callee,
+ MachinePointerInfo::getGOT(), false, false, true, 0);
} else if (Subtarget->isTargetCOFF()) {
assert(Subtarget->isTargetWindows() &&
"Windows is the only supported COFF target");
OpenPOWER on IntegriCloud