diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index ea2696786b5..ad7a8af4af5 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -736,8 +736,12 @@ void SelectionDAGLowering::visitCall(CallInst &I) { case Intrinsic::returnaddress: visitFrameReturnAddress(I, false); return; case Intrinsic::frameaddress: visitFrameReturnAddress(I, true); return; - case Intrinsic::setjmp: RenameFn = "setjmp"; break; - case Intrinsic::longjmp: RenameFn = "longjmp"; break; + case Intrinsic::setjmp: + RenameFn = "_setjmp"+!TLI.usesUnderscoreSetJmpLongJmp(); + break; + case Intrinsic::longjmp: + RenameFn = "_longjmp"+!TLI.usesUnderscoreSetJmpLongJmp(); + break; case Intrinsic::memcpy: visitMemIntrinsic(I, ISD::MEMCPY); return; case Intrinsic::memset: visitMemIntrinsic(I, ISD::MEMSET); return; case Intrinsic::memmove: visitMemIntrinsic(I, ISD::MEMMOVE); return;