Until there is a setjmp/longjmp transformation pass, codegen setjmp as a noop
authorChris Lattner <sabre@nondot.org>
Sun, 29 Jun 2003 16:42:32 +0000 (16:42 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 29 Jun 2003 16:42:32 +0000 (16:42 +0000)
and longjmp as an abort!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6977 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/InstSelectSimple.cpp
lib/Target/X86/X86ISelSimple.cpp

index 0566defd0523a137719be8aad1164ba45b24802a..e57a6ab75add7315d7dfe50710532c64fdc578e2 100644 (file)
@@ -978,6 +978,10 @@ void ISel::visitIntrinsicCall(LLVMIntrinsic::ID ID, CallInst &CI) {
     addDirectMem(BuildMI(BB, X86::MOVrm32, 5), TmpReg2).addReg(TmpReg1);
     return;
 
+  case LLVMIntrinsic::longjmp:
+    BuildMI(X86::CALLpcrel32, 1).addExternalSymbol("abort", true); 
+  case LLVMIntrinsic::setjmp:
+    return;
   default: assert(0 && "Unknown intrinsic for X86!");
   }
 }
index 0566defd0523a137719be8aad1164ba45b24802a..e57a6ab75add7315d7dfe50710532c64fdc578e2 100644 (file)
@@ -978,6 +978,10 @@ void ISel::visitIntrinsicCall(LLVMIntrinsic::ID ID, CallInst &CI) {
     addDirectMem(BuildMI(BB, X86::MOVrm32, 5), TmpReg2).addReg(TmpReg1);
     return;
 
+  case LLVMIntrinsic::longjmp:
+    BuildMI(X86::CALLpcrel32, 1).addExternalSymbol("abort", true); 
+  case LLVMIntrinsic::setjmp:
+    return;
   default: assert(0 && "Unknown intrinsic for X86!");
   }
 }