This makes sure to dump SSA names without identifier in the
declaration part of a function dump.  While we dump the
anonymous variable decls the SSA names referencing them appear
without a clear reference as to what anonymous variable is used
(_3 vs. D.1234).

Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

2021-03-11  Richard Biener  <rguent...@suse.de>

        PR tree-optimization/99523
        * tree-cfg.c (dump_function_to_file): Dump SSA names
        w/o identifier to the decls section as well, not only those
        without a VAR_DECL.
---
 gcc/tree-cfg.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index d04ce212561..7e3aae5f9c2 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -8155,7 +8155,12 @@ dump_function_to_file (tree fndecl, FILE *file, 
dump_flags_t flags)
       if (gimple_in_ssa_p (cfun))
        FOR_EACH_SSA_NAME (ix, name, cfun)
          {
-           if (!SSA_NAME_VAR (name))
+           if (!SSA_NAME_VAR (name)
+               /* SSA name with decls without a name still get
+                  dumped as _N, list those explicitely as well even
+                  though we've dumped the decl declaration as D.xxx
+                  above.  */
+               || !SSA_NAME_IDENTIFIER (name))
              {
                fprintf (file, "  ");
                print_generic_expr (file, TREE_TYPE (name), flags);
-- 
2.26.2

Reply via email to