From 326e40aa8bf6c26c98743f4b4376589cac7230e2 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 6 Aug 2003 18:04:40 +0000 Subject: [PATCH] The HAVE_JUMP code is dead, these intrinsics should _never_ be expanded git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7642 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/CBackend/CBackend.cpp | 29 ++++++----------------------- lib/Target/CBackend/Writer.cpp | 29 ++++++----------------------- 2 files changed, 12 insertions(+), 46 deletions(-) diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index 404e6f6f55b..5cccc37a3c2 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -1123,32 +1123,15 @@ void CWriter::visitCallInst(CallInst &I) { return; case LLVMIntrinsic::setjmp: -#ifdef HAVE_JUMP - Out << "setjmp(*(jmp_buf*)"; - writeOperand(I.getOperand(1)); - Out << ")"; -#else - // - // For right now, we don't really support non-local jumps. So - // make setjmp() always evaluate to zero for now. - // - Out << "(0)"; -#endif + // This instrinsic should never exist in the program, but until we get + // setjmp/longjmp transformations going on, we should codegen it to + // something reasonable. This will allow code that never calls longjmp + // to work. + Out << "0"; return; case LLVMIntrinsic::longjmp: -#ifdef HAVE_JUMP - Out << "longjmp(*(jmp_buf*)"; - writeOperand(I.getOperand(1)); - Out << ", "; - writeOperand(I.getOperand(2)); - Out << ")"; -#else - // - // For right now, we don't really support non-local jumps. So - // make longjmp() abort the program. - // + // Treat longjmp the same as setjmp Out << "abort()"; -#endif return; } } diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp index 404e6f6f55b..5cccc37a3c2 100644 --- a/lib/Target/CBackend/Writer.cpp +++ b/lib/Target/CBackend/Writer.cpp @@ -1123,32 +1123,15 @@ void CWriter::visitCallInst(CallInst &I) { return; case LLVMIntrinsic::setjmp: -#ifdef HAVE_JUMP - Out << "setjmp(*(jmp_buf*)"; - writeOperand(I.getOperand(1)); - Out << ")"; -#else - // - // For right now, we don't really support non-local jumps. So - // make setjmp() always evaluate to zero for now. - // - Out << "(0)"; -#endif + // This instrinsic should never exist in the program, but until we get + // setjmp/longjmp transformations going on, we should codegen it to + // something reasonable. This will allow code that never calls longjmp + // to work. + Out << "0"; return; case LLVMIntrinsic::longjmp: -#ifdef HAVE_JUMP - Out << "longjmp(*(jmp_buf*)"; - writeOperand(I.getOperand(1)); - Out << ", "; - writeOperand(I.getOperand(2)); - Out << ")"; -#else - // - // For right now, we don't really support non-local jumps. So - // make longjmp() abort the program. - // + // Treat longjmp the same as setjmp Out << "abort()"; -#endif return; } } -- 2.34.1