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;