]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
SCC-Copy: Add More Debug dumps
authorAndrew Pinski <quic_apinski@quicinc.com>
Mon, 17 Mar 2025 18:28:16 +0000 (11:28 -0700)
committerAndrew Pinski <quic_apinski@quicinc.com>
Tue, 18 Mar 2025 14:45:48 +0000 (07:45 -0700)
While debugging a failure, I noticed that SCC copy didn't print
out what it was doing, e.g. replacing name1 with name 2.
This adds that dump.

Bootstrapped and tested on x86_64-linux-gnu.

gcc/ChangeLog:

* gimple-ssa-sccopy.cc (scc_copy_prop::replace_scc_by_value): Dump
what is being replaced with what.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/gimple-ssa-sccopy.cc

index 7ffb5718ab6b9ca4438d481673de72d2b5df675f..298feb0557113853e1ee39c7336998b530fcd9c4 100644 (file)
@@ -38,6 +38,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "builtins.h"
 #include "tree-ssa-dce.h"
 #include "fold-const.h"
+#include "tree-pretty-print.h"
 
 /* Strongly connected copy propagation pass.
 
@@ -485,6 +486,15 @@ scc_copy_prop::replace_scc_by_value (vec<gimple *> scc, tree val)
   for (gimple *stmt : scc)
     {
       tree name = gimple_get_lhs (stmt);
+      if (dump_file && (dump_flags & TDF_DETAILS))
+       {
+         fprintf (dump_file, "Replacing ");
+         print_generic_expr (dump_file, name);
+         fprintf (dump_file, " with ");
+         print_generic_expr (dump_file, val);
+         fprintf (dump_file, "\n");
+         
+       }
       replace_uses_by (name, val);
       bitmap_set_bit (dead_stmts, SSA_NAME_VERSION (name));
     }