From a2544177b989c29fe893e55d422c8d9e6f27c6b3 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 26 Sep 2013 13:18:31 +0000 Subject: tree-ssa-live.c (var_map_base_init): Handle SSA names with DECL_IGNORED_P base VAR_DECLs like anonymous SSA names. 2013-09-26 Richard Biener * tree-ssa-live.c (var_map_base_init): Handle SSA names with DECL_IGNORED_P base VAR_DECLs like anonymous SSA names. (loe_visit_block): Use gcc_checking_assert. * tree-ssa-coalesce.c (create_outofssa_var_map): Use gimple_assign_ssa_name_copy_p. (gimple_can_coalesce_p): Adjust according to the var_map_base_init change. * gcc.dg/tree-ssa/coalesce-2.c: New testcase. From-SVN: r202944 --- gcc/tree-ssa-live.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gcc/tree-ssa-live.c') diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c index c21b2e8..eb36a90 100644 --- a/gcc/tree-ssa-live.c +++ b/gcc/tree-ssa-live.c @@ -104,7 +104,9 @@ var_map_base_init (var_map map) struct tree_int_map **slot; unsigned baseindex; var = partition_to_var (map, x); - if (SSA_NAME_VAR (var)) + if (SSA_NAME_VAR (var) + && (!VAR_P (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 @@ -990,9 +992,10 @@ loe_visit_block (tree_live_info_p live, basic_block bb, sbitmap visited, edge_iterator ei; basic_block pred_bb; bitmap loe; - gcc_assert (!bitmap_bit_p (visited, bb->index)); + gcc_checking_assert (!bitmap_bit_p (visited, bb->index)); bitmap_set_bit (visited, bb->index); + loe = live_on_entry (live, bb); FOR_EACH_EDGE (e, ei, bb->preds) -- cgit v1.1