diff options
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/Android.bp | 10 | ||||
| -rw-r--r-- | compiler/optimizing/nodes_vector.h | 5 |
2 files changed, 8 insertions, 7 deletions
diff --git a/compiler/Android.bp b/compiler/Android.bp index e42261c556..32e42bc02a 100644 --- a/compiler/Android.bp +++ b/compiler/Android.bp @@ -218,7 +218,10 @@ gensrcs { art_cc_library { name: "libart-compiler", - defaults: ["libart-compiler-defaults"], + defaults: [ + "libart-compiler-defaults", + "dex2oat-pgo-defaults", + ], codegen: { arm: { // VIXL assembly support for ARM targets. @@ -252,11 +255,6 @@ art_cc_library { "libdexfile", ], - pgo: { - instrumentation: true, - profile_file: "art/dex2oat.profdata", - benchmarks: ["dex2oat"], - }, target: { android: { lto: { diff --git a/compiler/optimizing/nodes_vector.h b/compiler/optimizing/nodes_vector.h index e96682550a..20f6cf01ed 100644 --- a/compiler/optimizing/nodes_vector.h +++ b/compiler/optimizing/nodes_vector.h @@ -171,9 +171,12 @@ class HVecOperation : public HVariableInputSizeInstruction { if (instruction->IsVecOperation()) { return !instruction->IsVecExtractScalar(); // only scalar returning vec op } else if (instruction->IsPhi()) { + // Vectorizer only uses Phis in reductions, so checking for a 2-way phi + // with a direct vector operand as second argument suffices. return instruction->GetType() == kSIMDType && - instruction->InputAt(1)->IsVecOperation(); // vectorizer does not go deeper + instruction->InputCount() == 2 && + instruction->InputAt(1)->IsVecOperation(); } return false; } |