aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-cp.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2020-11-02 15:43:28 +0100
committerMartin Jambor <mjambor@suse.cz>2020-11-02 15:43:28 +0100
commit86deadf8d3ac55b3cd07e15d4e83e3b6ccd9ee81 (patch)
treea8d8e820d75f7e9da4504721780a726fdf5d7441 /gcc/ipa-cp.c
parent637aeb6b8da36a621cf076068498adc5322be069 (diff)
downloadgcc-86deadf8d3ac55b3cd07e15d4e83e3b6ccd9ee81.zip
gcc-86deadf8d3ac55b3cd07e15d4e83e3b6ccd9ee81.tar.gz
gcc-86deadf8d3ac55b3cd07e15d4e83e3b6ccd9ee81.tar.bz2
ipa-cp: New debug counters for IPA-CP
Martin Liška has been asking me to add debug counters to the IPA-CP pass so that testcase reductions are easier. The pass already has one for the bit value propagation, so this patch adds one for value_range propagation and one for the actual constant propagation. gcc/ChangeLog: 2020-10-30 Martin Jambor <mjambor@suse.cz> * dbgcnt.def (ipa_cp_values): New counter. (ipa_cp_vr): Likewise. * ipa-cp.c (decide_about_value): Check and bump ipa_cp_values debug counter. (decide_whether_version_node): Likewise. (ipcp_store_vr_results):Check and bump ipa_cp_vr debug counter.
Diffstat (limited to 'gcc/ipa-cp.c')
-rw-r--r--gcc/ipa-cp.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index 1405156..465b072 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -5469,6 +5469,9 @@ decide_about_value (struct cgraph_node *node, int index, HOST_WIDE_INT offset,
&caller_count))
return false;
+ if (!dbg_cnt (ipa_cp_values))
+ return false;
+
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, " - considering value ");
@@ -5584,6 +5587,12 @@ decide_whether_version_node (struct cgraph_node *node)
if (info->do_clone_for_all_contexts)
{
+ if (!dbg_cnt (ipa_cp_values))
+ {
+ info->do_clone_for_all_contexts = false;
+ return ret;
+ }
+
struct cgraph_node *clone;
vec<cgraph_edge *> callers = node->collect_callers ();
@@ -5871,7 +5880,8 @@ ipcp_store_vr_results (void)
ipa_vr vr;
if (!plats->m_value_range.bottom_p ()
- && !plats->m_value_range.top_p ())
+ && !plats->m_value_range.top_p ()
+ && dbg_cnt (ipa_cp_vr))
{
vr.known = true;
vr.type = plats->m_value_range.m_vr.kind ();