diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-05-22 01:47:14 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-05-22 01:47:14 +0000 |
commit | 168ced94d84929f7cdb5d61c67ed79e7275f0ec6 (patch) | |
tree | a9b6a2f1562ee40a1a93d1ab2e9646610f8f1c3d /llvm/lib/Target/X86/X86ISelLowering.cpp | |
parent | bd9485db634dd2341f6e766e99bff758793d0d42 (diff) | |
download | bcm5719-llvm-168ced94d84929f7cdb5d61c67ed79e7275f0ec6.tar.gz bcm5719-llvm-168ced94d84929f7cdb5d61c67ed79e7275f0ec6.zip |
Implement @llvm.returnaddress. rdar://8015977.
llvm-svn: 104421
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 87d1670ea40..c0813f323cb 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -6981,6 +6981,9 @@ X86TargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const SDValue X86TargetLowering::LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const { + MachineFrameInfo *MFI = DAG.getMachineFunction().getFrameInfo(); + MFI->setReturnAddressIsTaken(true); + unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue(); DebugLoc dl = Op.getDebugLoc(); @@ -7004,6 +7007,7 @@ SDValue X86TargetLowering::LowerRETURNADDR(SDValue Op, SDValue X86TargetLowering::LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const { MachineFrameInfo *MFI = DAG.getMachineFunction().getFrameInfo(); MFI->setFrameAddressIsTaken(true); + EVT VT = Op.getValueType(); DebugLoc dl = Op.getDebugLoc(); // FIXME probably not meaningful unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue(); |