summaryrefslogtreecommitdiff
path: root/compiler/optimizing/loop_optimization.cc
diff options
context:
space:
mode:
authorAart Bik <ajcbik@google.com>2017-09-06 13:29:16 -0700
committerAart Bik <ajcbik@google.com>2017-09-06 13:29:16 -0700
commit21b859210d690d25563423eeed5fd630023d23cc (patch)
tree61a28428b0375458d8ed83e42cf7d05ad0976630 /compiler/optimizing/loop_optimization.cc
parentac8a2a76e34d0ec0bfc10e067eafbd8a87ea4446 (diff)
Added vectorization stats.
Rationale: Provides a (somewhat crude) quantative way to detect changes in loop vectorization and idiom recognition (e.g. by means of market scans, or just inspecting the same application before/after a change). Test: market scan Change-Id: Ic85938ba2b33c967de3159742c60301454a152a0
Diffstat (limited to 'compiler/optimizing/loop_optimization.cc')
-rw-r--r--compiler/optimizing/loop_optimization.cc2
1 files changed, 2 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);
}