Quick compiler: fix for missing defs
When the verifier replaces a Dex instruction, it may cause us
to lose a definition, making the SSA graph invalid. This CL
deals with this situation by introducing dummy definitions.
With this CL, run-tests 042 and 075 pass. The only remaining
run-test failures are related to missing exception edges in the CFG.
The old compiler could infer some of them, while llvm requires all
to be explicit.
Change-Id: I471fa515d8717aa102713a05b0e4115bf656b78e
diff --git a/src/compiler/CompilerIR.h b/src/compiler/CompilerIR.h
index 7420bda..1ecf61a 100644
--- a/src/compiler/CompilerIR.h
+++ b/src/compiler/CompilerIR.h
@@ -420,6 +420,7 @@
irb(NULL),
placeholderBB(NULL),
entryBB(NULL),
+ entryTargetBB(NULL),
tempName(0),
requireShadowFrame(false),
numShadowFrameEntries(0),
@@ -589,6 +590,7 @@
greenland::IRBuilder* irb;
llvm::BasicBlock* placeholderBB;
llvm::BasicBlock* entryBB;
+ llvm::BasicBlock* entryTargetBB;
std::string bitcode_filename;
GrowableList llvmValues;
int32_t tempName;