Hi.
We already have a IPA modref debug counter, but it's only used in
tree-ssa-alias,
which is only a part of what IPA modref does. I used the dbg counter in
isolation
of PR101949.
Ready for master?
gcc/ChangeLog:
* dbgcnt.def (DEBUG_COUNTER): New counter.
* gimple.c (gimple_call_arg_flags): Use it in IPA PTA.
---
gcc/dbgcnt.def | 1 +
gcc/gimple.c | 5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 2345899ba68..c2bcc4eef5e 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -175,6 +175,7 @@ DEBUG_COUNTER (ipa_cp_bits)
DEBUG_COUNTER (ipa_cp_values)
DEBUG_COUNTER (ipa_cp_vr)
DEBUG_COUNTER (ipa_mod_ref)
+DEBUG_COUNTER (ipa_mod_ref_pta)
DEBUG_COUNTER (ipa_sra_params)
DEBUG_COUNTER (ipa_sra_retvalues)
DEBUG_COUNTER (ira_move)
diff --git a/gcc/gimple.c b/gcc/gimple.c
index 4e2653cab2f..bed7ff9e71c 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -48,7 +48,7 @@ along with GCC; see the file COPYING3. If not see
#include "attr-fnspec.h"
#include "ipa-modref-tree.h"
#include "ipa-modref.h"
-
+#include "dbgcnt.h"
/* All the tuples have their operand vector (if present) at the very bottom
of the structure. Therefore, the offset required to find the
@@ -1601,7 +1601,8 @@ gimple_call_arg_flags (const gcall *stmt, unsigned arg)
if ((modref_flags & EAF_DIRECT) && !(flags & EAF_DIRECT))
modref_flags &= ~EAF_DIRECT;
}
- flags |= modref_flags;
+ if (dbg_cnt (ipa_mod_ref_pta))
+ flags |= modref_flags;
}
}
return flags;
--
2.32.0