[PATCH] Add debug counter for IPA bits CP.

Martin Liška mliska@suse.cz
Tue Aug 11 07:04:11 GMT 2020


Hey.

I'm debugging PR96482 and it would be handy for me to have a debug counter
for the problematic transformation.

Ready for master?
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



More information about the Gcc-patches mailing list