Index: gcc/tree-ssa-live.c =================================================================== *** gcc/tree-ssa-live.c (revision 202883) --- gcc/tree-ssa-live.c (working copy) *************** var_map_base_init (var_map map) *** 104,110 **** struct tree_int_map **slot; unsigned baseindex; var = partition_to_var (map, x); ! if (SSA_NAME_VAR (var)) m->base.from = SSA_NAME_VAR (var); else /* This restricts what anonymous SSA names we can coalesce --- 104,111 ---- struct tree_int_map **slot; unsigned baseindex; var = partition_to_var (map, x); ! if (SSA_NAME_VAR (var) ! && !DECL_IGNORED_P (SSA_NAME_VAR (var))) m->base.from = SSA_NAME_VAR (var); else /* This restricts what anonymous SSA names we can coalesce Index: gcc/tree-ssa-coalesce.c =================================================================== *** gcc/tree-ssa-coalesce.c (revision 202883) --- gcc/tree-ssa-coalesce.c (working copy) *************** gimple_can_coalesce_p (tree name1, tree *** 1347,1353 **** { /* First check the SSA_NAME's associated DECL. We only want to coalesce if they have the same DECL or both have no associated DECL. */ ! if (SSA_NAME_VAR (name1) != SSA_NAME_VAR (name2)) return false; /* Now check the types. If the types are the same, then we should --- 1346,1356 ---- { /* First check the SSA_NAME's associated DECL. We only want to coalesce if they have the same DECL or both have no associated DECL. */ ! tree var1 = SSA_NAME_VAR (name1); ! tree var2 = SSA_NAME_VAR (name2); ! var1 = (var1 && !DECL_IGNORED_P (var1)) ? var1 : NULL_TREE; ! var2 = (var2 && !DECL_IGNORED_P (var2)) ? var2 : NULL_TREE; ! if (var1 != var2) return false; /* Now check the types. If the types are the same, then we should