summaryrefslogtreecommitdiff
path: root/compiler/optimizing
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2025-02-03 08:06:09 -0800
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2025-02-03 08:06:09 -0800
commit30fa86307b6c5ceb02007782cb90ee60a165733a (patch)
tree8f5ff86032683248e51379d3835c620a260209bc /compiler/optimizing
parent544c37818033b66df9ee358b69b4cbfaacabe828 (diff)
parentcfb4bdbe116ede352effce5462ccf7e998b78255 (diff)
Optimizing: New statistic for diamond removal. am: cfb4bdbe11
Original change: https://android-review.googlesource.com/c/platform/art/+/3473790 Change-Id: Id0e0879a527cefe168a26281888181c446af71c3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'compiler/optimizing')
-rw-r--r--compiler/optimizing/control_flow_simplifier.cc3
-rw-r--r--compiler/optimizing/optimizing_compiler_stats.h3
2 files changed, 4 insertions, 2 deletions
diff --git a/compiler/optimizing/control_flow_simplifier.cc b/compiler/optimizing/control_flow_simplifier.cc
index 3e1c0ac0fc..35efed59da 100644
--- a/compiler/optimizing/control_flow_simplifier.cc
+++ b/compiler/optimizing/control_flow_simplifier.cc
@@ -198,7 +198,8 @@ bool HControlFlowSimplifier::TryGenerateSelectSimpleDiamondPattern(
block->MergeWith(merge_block);
}
- MaybeRecordStat(stats_, MethodCompilationStat::kSelectGenerated);
+ MaybeRecordStat(stats_, select != nullptr ? MethodCompilationStat::kControlFlowSelectGenerated
+ : MethodCompilationStat::kControlFlowDiamondRemoved);
// Very simple way of finding common subexpressions in the generated HSelect statements
// (since this runs after GVN). Lookup by condition, and reuse latest one if possible
diff --git a/compiler/optimizing/optimizing_compiler_stats.h b/compiler/optimizing/optimizing_compiler_stats.h
index c149eaba9d..62ed2359a2 100644
--- a/compiler/optimizing/optimizing_compiler_stats.h
+++ b/compiler/optimizing/optimizing_compiler_stats.h
@@ -79,13 +79,14 @@ enum class MethodCompilationStat {
kLoopInvariantMoved,
kLoopVectorized,
kLoopVectorizedIdiom,
- kSelectGenerated,
kRemovedInstanceOf,
kPropagatedIfValue,
kInlinedInvokeVirtualOrInterface,
kInlinedLastInvokeVirtualOrInterface,
kImplicitNullCheckGenerated,
kExplicitNullCheckGenerated,
+ kControlFlowSelectGenerated,
+ kControlFlowDiamondRemoved,
kSimplifyIf,
kSimplifyIfAddedPhi,
kSimplifyThrowingInvoke,