]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
debug_tree: print out clique/base for MEM_REF/TARGET_MEM_REF
authorAndrew Pinski <andrew.pinski@oss.qualcomm.com>
Tue, 14 Oct 2025 17:36:03 +0000 (10:36 -0700)
committerAndrew Pinski <andrew.pinski@oss.qualcomm.com>
Wed, 15 Oct 2025 16:18:03 +0000 (09:18 -0700)
While debugging PR 122273, I noticed that print_node was not
printing out the clique/base for MEM_REF/TARGET_MEM_REF. This
made harder to understand why operand_equal_p (without looking
into the code) would be rejecting two looking the same MEM_REFs.

Changes since v1:
* v2: Don't print out clique/base if clique is 0.

Bootstrapped and tested on x86_64-linux-gnu.

gcc/ChangeLog:

* print-tree.cc (print_node): Print out clique/base
for MEM_REF and TARGET_MEM_REF.

Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
gcc/print-tree.cc

index f84be762741c7752042f8573f58e9aec3559896f..7b8a680fff50d9aba880e65223b0f1ecfd60d48a 100644 (file)
@@ -747,6 +747,14 @@ print_node (FILE *file, const char *prefix, tree node, int indent,
     case tcc_reference:
     case tcc_statement:
     case tcc_vl_exp:
+      if ((code == MEM_REF || code == TARGET_MEM_REF)
+         && MR_DEPENDENCE_CLIQUE (node) != 0)
+       {
+         indent_to (file, indent + 4);
+         fprintf (file, "clique: %d base: %d",
+                  MR_DEPENDENCE_CLIQUE (node),
+                  MR_DEPENDENCE_BASE (node));
+       }
       if (code == BIND_EXPR)
        {
          print_node (file, "vars", TREE_OPERAND (node, 0), indent + 4);