Quick compiler: support for 006, 012, 013, 017
Continued fleshing out of the Quick compiler. With this CL,
we're passing run-tests 006, 012, 013 and 017. Note minor
changes to the tests to allow for easy identification of methods
we want to run through the Quick path. Also, set up by default
now to dump bitcode file to /sdcard/Bitcode/
Change-Id: I77ec73a87a21064273567802ddb44c4fdf71f9fd
diff --git a/src/compiler/Frontend.cc b/src/compiler/Frontend.cc
index 3d6e983..34798f9 100644
--- a/src/compiler/Frontend.cc
+++ b/src/compiler/Frontend.cc
@@ -757,8 +757,13 @@
cUnit->numRegs = code_item->registers_size_ - cUnit->numIns;
cUnit->numOuts = code_item->outs_size_;
#if defined(ART_USE_QUICK_COMPILER)
+ // TODO: remove - temp for Quick compiler bring-up
if ((PrettyMethod(method_idx, dex_file).find("fibonacci") != std::string::npos)
|| (PrettyMethod(method_idx, dex_file).find("HelloWorld") != std::string::npos)
+ || (PrettyMethod(method_idx, dex_file).find("count10_006") != std::string::npos)
+ || (PrettyMethod(method_idx, dex_file).find("math_012") != std::string::npos)
+ || (PrettyMethod(method_idx, dex_file).find("math_013") != std::string::npos)
+ || (PrettyMethod(method_idx, dex_file).find("float_017") != std::string::npos)
) {
cUnit->genBitcode = true;
}
@@ -781,6 +786,8 @@
if (cUnit->genBitcode) {
cUnit->printMe = true;
cUnit->enableDebug |= (1 << kDebugDumpBitcodeFile);
+ // Disable non-safe optimizations for now
+ cUnit->disableOpt |= ~(1 << kSafeOptimizations);
}
#endif
if (cUnit->instructionSet == kX86) {