> Hey. > > I'm debugging PR96482 and it would be handy for me to have a debug counter > for the problematic transformation. > > Ready for master?
Looks good to me. Perhaps it would be more systematic to add them to the remaining propagators as well - bugs tends to pop up from time to time related to those. Honza > Thanks, > Martin > > gcc/ChangeLog: > > * dbgcnt.def (DEBUG_COUNTER): Add ipa_cp_bits. > * ipa-cp.c (ipcp_store_bits_results): Use it when we store known > bits for parameters. > --- > gcc/dbgcnt.def | 1 + > gcc/ipa-cp.c | 11 ++++++++--- > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def > index 3998c9636aa..cf8775b2b66 100644 > --- a/gcc/dbgcnt.def > +++ b/gcc/dbgcnt.def > @@ -170,6 +170,7 @@ DEBUG_COUNTER (if_after_combine) > DEBUG_COUNTER (if_after_reload) > DEBUG_COUNTER (if_conversion) > DEBUG_COUNTER (if_conversion_tree) > +DEBUG_COUNTER (ipa_cp_bits) > DEBUG_COUNTER (ipa_sra_params) > DEBUG_COUNTER (ipa_sra_retvalues) > DEBUG_COUNTER (ira_move) > diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c > index 10cc59509d5..945a69977f3 100644 > --- a/gcc/ipa-cp.c > +++ b/gcc/ipa-cp.c > @@ -123,6 +123,7 @@ along with GCC; see the file COPYING3. If not see > #include "tree-ssa-ccp.h" > #include "stringpool.h" > #include "attribs.h" > +#include "dbgcnt.h" > template <typename valtype> class ipcp_value; > @@ -5788,9 +5789,13 @@ ipcp_store_bits_results (void) > ipa_bits *jfbits; > if (plats->bits_lattice.constant_p ()) > - jfbits > - = ipa_get_ipa_bits_for_value (plats->bits_lattice.get_value (), > - plats->bits_lattice.get_mask ()); > + { > + jfbits > + = ipa_get_ipa_bits_for_value (plats->bits_lattice.get_value (), > + plats->bits_lattice.get_mask ()); > + if (!dbg_cnt (ipa_cp_bits)) > + jfbits = NULL; > + } > else > jfbits = NULL; > -- > 2.28.0 >