It turns out we are pretty conservative on the set of SSA names
we make anonymous.  In particular all named temporaries
created by gimplification and lowering passes were left alone.
The following patch makes all SSA names anonymous that we will
not generate debug information for and transitions the name
over to it.

Bootstrap and regtest running on x86_64_unknown-linux-gnu.

Richard.

2013-09-26  Richard Biener  <rguent...@suse.de>

        * tree-into-ssa.c (rewrite_into_ssa): Make more SSA names
        to anonymous.

Index: gcc/tree-into-ssa.c
===================================================================
*** gcc/tree-into-ssa.c (revision 202941)
--- gcc/tree-into-ssa.c (working copy)
*************** rewrite_into_ssa (void)
*** 2366,2375 ****
        if (decl
          && TREE_CODE (decl) == VAR_DECL
          && !VAR_DECL_IS_VIRTUAL_OPERAND (decl)
!         && DECL_ARTIFICIAL (decl)
!         && DECL_IGNORED_P (decl)
!         && !DECL_NAME (decl))
!       SET_SSA_NAME_VAR_OR_IDENTIFIER (name, NULL_TREE);
      }
  
    return 0;
--- 2366,2373 ----
        if (decl
          && TREE_CODE (decl) == VAR_DECL
          && !VAR_DECL_IS_VIRTUAL_OPERAND (decl)
!         && DECL_IGNORED_P (decl))
!       SET_SSA_NAME_VAR_OR_IDENTIFIER (name, DECL_NAME (decl));
      }
  
    return 0;

Reply via email to