+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>
* config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
? NEXT_INSN (BB_END (e->src)) : get_insns (),
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);
redirect_edge_and_branch_force (e, new_bb);