Fix -fprofile-use ICE.
PR rtl-optimization/16490 * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and global_live_at_end for new basic block if already set for other blocks. From-SVN: r85813
This commit is contained in:
parent
c1618c0ca2
commit
af87423702
@ -1,3 +1,9 @@
|
|||||||
|
2004-08-11 James E Wilson <wilson@specifixinc.com>
|
||||||
|
|
||||||
|
PR rtl-optimization/16490
|
||||||
|
* cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
|
||||||
|
global_live_at_end for new basic block if already set for other blocks.
|
||||||
|
|
||||||
2004-08-11 David Edelsohn <edelsohn@gnu.org>
|
2004-08-11 David Edelsohn <edelsohn@gnu.org>
|
||||||
|
|
||||||
* config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
|
* config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
|
||||||
|
12
gcc/cfgrtl.c
12
gcc/cfgrtl.c
@ -2781,6 +2781,18 @@ cfg_layout_split_edge (edge e)
|
|||||||
? NEXT_INSN (BB_END (e->src)) : get_insns (),
|
? NEXT_INSN (BB_END (e->src)) : get_insns (),
|
||||||
NULL_RTX, e->src);
|
NULL_RTX, e->src);
|
||||||
|
|
||||||
|
/* ??? This info is likely going to be out of date very soon, but we must
|
||||||
|
create it to avoid getting an ICE later. */
|
||||||
|
if (e->dest->global_live_at_start)
|
||||||
|
{
|
||||||
|
new_bb->global_live_at_start = OBSTACK_ALLOC_REG_SET (&flow_obstack);
|
||||||
|
new_bb->global_live_at_end = OBSTACK_ALLOC_REG_SET (&flow_obstack);
|
||||||
|
COPY_REG_SET (new_bb->global_live_at_start,
|
||||||
|
e->dest->global_live_at_start);
|
||||||
|
COPY_REG_SET (new_bb->global_live_at_end,
|
||||||
|
e->dest->global_live_at_start);
|
||||||
|
}
|
||||||
|
|
||||||
new_e = make_edge (new_bb, e->dest, EDGE_FALLTHRU);
|
new_e = make_edge (new_bb, e->dest, EDGE_FALLTHRU);
|
||||||
redirect_edge_and_branch_force (e, new_bb);
|
redirect_edge_and_branch_force (e, new_bb);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user