If the target prefers it, use _setjmp/_longjmp should be used instead of setjmp/longj...
authorChris Lattner <sabre@nondot.org>
Tue, 27 Sep 2005 22:15:53 +0000 (22:15 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 27 Sep 2005 22:15:53 +0000 (22:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23481 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

index ea2696786b53988356325c5b5793c08eb25783e3..ad7a8af4af58b5dea8b1b4f36e7f913cc7901ffb 100644 (file)
@@ -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;