diff options
| author | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2013-09-22 01:40:24 +0000 |
|---|---|---|
| committer | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2013-09-22 01:40:24 +0000 |
| commit | 7e7eb8ce695930193a7e6e6a6ad0e0d52d3d97c3 (patch) | |
| tree | fe8b4131e6ad9c1d2a759b392db2a8754636684b /llvm/lib | |
| parent | a5e92556ac18ff0fde5000ee252d79fe2c4a7b00 (diff) | |
| download | bcm5719-llvm-7e7eb8ce695930193a7e6e6a6ad0e0d52d3d97c3.tar.gz bcm5719-llvm-7e7eb8ce695930193a7e6e6a6ad0e0d52d3d97c3.zip | |
[SPARC] Make functions with GLOBAL_OFFSET_TABLE access as non-leaf functions.
llvm-svn: 191160
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/Sparc/SparcISelLowering.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcISelLowering.cpp b/llvm/lib/Target/Sparc/SparcISelLowering.cpp index 2260fe48b31..eb9896c1f56 100644 --- a/llvm/lib/Target/Sparc/SparcISelLowering.cpp +++ b/llvm/lib/Target/Sparc/SparcISelLowering.cpp @@ -1651,6 +1651,10 @@ SDValue SparcTargetLowering::makeAddress(SDValue Op, SelectionDAG &DAG) const { SDValue HiLo = makeHiLoPair(Op, SPII::MO_HI, SPII::MO_LO, DAG); SDValue GlobalBase = DAG.getNode(SPISD::GLOBAL_BASE_REG, DL, VT); SDValue AbsAddr = DAG.getNode(ISD::ADD, DL, VT, GlobalBase, HiLo); + // GLOBAL_BASE_REG codegen'ed with call. Inform MFI that this + // function has calls. + MachineFrameInfo *MFI = DAG.getMachineFunction().getFrameInfo(); + MFI->setHasCalls(true); return DAG.getLoad(VT, DL, DAG.getEntryNode(), AbsAddr, MachinePointerInfo::getGOT(), false, false, false, 0); } |

