diff options
author | Chris Lattner <sabre@nondot.org> | 2003-08-06 18:04:40 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-08-06 18:04:40 +0000 |
commit | 326e40aa8bf6c26c98743f4b4376589cac7230e2 (patch) | |
tree | 41589d2e4926b89c2b0dd23462dd5481ffe6c179 /lib/Target/CBackend/CBackend.cpp | |
parent | 804312786002b69b6b63ffce63c7074a254ccbb6 (diff) |
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
Diffstat (limited to 'lib/Target/CBackend/CBackend.cpp')
-rw-r--r-- | lib/Target/CBackend/CBackend.cpp | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index 404e6f6f55..5cccc37a3c 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; } } |