The HAVE_JUMP code is dead, these intrinsics should _never_ be expanded

llvm-svn: 7642
This commit is contained in:
Chris Lattner 2003-08-06 18:04:40 +00:00
parent c592c9f8a3
commit 584058220a
1 changed files with 6 additions and 23 deletions

View File

@ -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;
}
}