[llvm-commits] [vmkit] r52358 - /vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Mon Jun 16 14:00:47 PDT 2008


Author: geoffray
Date: Mon Jun 16 16:00:47 2008
New Revision: 52358

URL: http://llvm.org/viewvc/llvm-project?rev=52358&view=rev
Log:
Correct buggy generated code (throwing an exception instead of return) when
the return type is not void.


Modified:
    vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp?rev=52358&r1=52357&r2=52358&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp Mon Jun 16 16:00:47 2008
@@ -761,7 +761,7 @@
   // not return.
   pred_iterator PI = pred_begin(endBlock);
   pred_iterator PE = pred_end(endBlock);
-  if (PI == PE) {
+  if (PI == PE && returnType != Type::VoidTy) {
     Instruction* I = currentBlock->getTerminator();
     assert(isa<UnreachableInst>(I) && "non terminator before buggy return");
     I->eraseFromParent();





More information about the llvm-commits mailing list