summaryrefslogtreecommitdiff
path: root/compiler/optimizing
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2017-09-06 22:48:06 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-09-06 22:48:06 +0000
commitf56311a966a9e8e476287cd47d615a91a83c1d04 (patch)
treec22d390b64c29767ce3d08791ad7d3d19adf923d /compiler/optimizing
parent82629c9182dffb823f05dec30f7ac72cf8fb3ba5 (diff)
parent21b859210d690d25563423eeed5fd630023d23cc (diff)
Merge "Added vectorization stats."
Diffstat (limited to 'compiler/optimizing')
-rw-r--r--compiler/optimizing/loop_optimization.cc2
-rw-r--r--compiler/optimizing/optimizing_compiler_stats.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/compiler/optimizing/loop_optimization.cc b/compiler/optimizing/loop_optimization.cc
index f8f4eb2ae3..6b2697bf18 100644
--- a/compiler/optimizing/loop_optimization.cc
+++ b/compiler/optimizing/loop_optimization.cc
@@ -625,6 +625,7 @@ bool HLoopOptimization::OptimizeInnerLoop(LoopNode* node) {
TryAssignLastValue(node->loop_info, main_phi, preheader, /*collect_loop_uses*/ true)) {
Vectorize(node, body, exit, trip_count);
graph_->SetHasSIMD(true); // flag SIMD usage
+ MaybeRecordStat(stats_, MethodCompilationStat::kLoopVectorized);
return true;
}
return false;
@@ -1724,6 +1725,7 @@ bool HLoopOptimization::VectorizeHalvingAddIdiom(LoopNode* node,
vector_length_,
is_unsigned,
is_rounded));
+ MaybeRecordStat(stats_, MethodCompilationStat::kLoopVectorizedIdiom);
} else {
GenerateVecOp(instruction, vector_map_->Get(r), vector_map_->Get(s), type);
}
diff --git a/compiler/optimizing/optimizing_compiler_stats.h b/compiler/optimizing/optimizing_compiler_stats.h
index d6da73cc1c..ff49056798 100644
--- a/compiler/optimizing/optimizing_compiler_stats.h
+++ b/compiler/optimizing/optimizing_compiler_stats.h
@@ -63,6 +63,8 @@ enum MethodCompilationStat {
kBooleanSimplified,
kIntrinsicRecognized,
kLoopInvariantMoved,
+ kLoopVectorized,
+ kLoopVectorizedIdiom,
kSelectGenerated,
kRemovedInstanceOf,
kInlinedInvokeVirtualOrInterface,
@@ -183,6 +185,8 @@ class OptimizingCompilerStats {
case kBooleanSimplified : name = "BooleanSimplified"; break;
case kIntrinsicRecognized : name = "IntrinsicRecognized"; break;
case kLoopInvariantMoved : name = "LoopInvariantMoved"; break;
+ case kLoopVectorized : name = "LoopVectorized"; break;
+ case kLoopVectorizedIdiom : name = "LoopVectorizedIdiom"; break;
case kSelectGenerated : name = "SelectGenerated"; break;
case kRemovedInstanceOf: name = "RemovedInstanceOf"; break;
case kInlinedInvokeVirtualOrInterface: name = "InlinedInvokeVirtualOrInterface"; break;