summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'compiler')
-rw-r--r--compiler/Android.bp10
-rw-r--r--compiler/optimizing/nodes_vector.h5
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;
}