Quick compiler: bug fix & cleanup
Fixed a bug in bitcode generation that was helpfully masked by
gcc's -O2 optmization (code motion). Also removed quite a few fields
and identifiers left over from the JIT, along with a couple of files
that were meaningful for the JIT, but are no longer used.
Change-Id: I7702b66d646c68aafb9669368c97e128ad045dc9
diff --git a/src/compiler/codegen/MethodBitcode.cc b/src/compiler/codegen/MethodBitcode.cc
index f4b8461..c50d74d 100644
--- a/src/compiler/codegen/MethodBitcode.cc
+++ b/src/compiler/codegen/MethodBitcode.cc
@@ -15,7 +15,6 @@
*/
#if defined(ART_USE_QUICK_COMPILER)
-
#include "object_utils.h"
#include <llvm/Support/ToolOutputFile.h>
@@ -1777,8 +1776,12 @@
{
if (bb->blockType == kDead) return false;
llvm::BasicBlock* llvmBB = getLLVMBlock(cUnit, bb->id);
- cUnit->irb->SetInsertPoint(llvmBB);
- setDexOffset(cUnit, bb->startOffset);
+ if (llvmBB == NULL) {
+ CHECK(bb->blockType == kExitBlock);
+ } else {
+ cUnit->irb->SetInsertPoint(llvmBB);
+ setDexOffset(cUnit, bb->startOffset);
+ }
if (cUnit->printMe) {
LOG(INFO) << "................................";