From c151e4f415da15d17eee60720c396e7103fcc02d Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 29 Jun 2003 16:42:32 +0000 Subject: [PATCH] Until there is a setjmp/longjmp transformation pass, codegen setjmp as a noop 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 | 4 ++++ lib/Target/X86/X86ISelSimple.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp index 0566defd052..e57a6ab75ad 100644 --- a/lib/Target/X86/InstSelectSimple.cpp +++ b/lib/Target/X86/InstSelectSimple.cpp @@ -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!"); } } diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp index 0566defd052..e57a6ab75ad 100644 --- a/lib/Target/X86/X86ISelSimple.cpp +++ b/lib/Target/X86/X86ISelSimple.cpp @@ -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!"); } } -- 2.34.1