summaryrefslogtreecommitdiff
path: root/compiler/optimizing
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2025-02-03 08:18:01 -0800
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2025-02-03 08:18:01 -0800
commit024a409d08d4cad92cc73b2889110a25f1c3b14e (patch)
tree8f5ff86032683248e51379d3835c620a260209bc /compiler/optimizing
parentbd08c19759e1d9f1c9ea70f28b63e358cad83788 (diff)
parent30fa86307b6c5ceb02007782cb90ee60a165733a (diff)
Optimizing: New statistic for diamond removal. am: cfb4bdbe11 am: 30fa86307b
Original change: https://android-review.googlesource.com/c/platform/art/+/3473790 Change-Id: I67086d6f14be63daa8190ad0e77b1745c261d8d3 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,