The HAVE_JUMP code is dead, these intrinsics should _never_ be expanded
authorChris Lattner <sabre@nondot.org>
Wed, 6 Aug 2003 18:04:40 +0000 (18:04 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 6 Aug 2003 18:04:40 +0000 (18:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7642 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/CBackend/CBackend.cpp
lib/Target/CBackend/Writer.cpp

index 404e6f6f55b793305f22c8997bf36793161ebfe6..5cccc37a3c2975401b535cf0a80fe58b4660a6cb 100644 (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;
       }
     }
index 404e6f6f55b793305f22c8997bf36793161ebfe6..5cccc37a3c2975401b535cf0a80fe58b4660a6cb 100644 (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;
       }
     }