Commit 32fc3abf by Eric Botcazou Committed by Eric Botcazou

regrename.c (merge_overlapping_regs): Add registers artificially defined at the…

regrename.c (merge_overlapping_regs): Add registers artificially defined at the top of the basic block to the set of...

	* regrename.c (merge_overlapping_regs): Add registers artificially
	defined at the top of the basic block to the set of live ones just
	before the first insn.

From-SVN: r142203
parent 15c58b19
2008-11-25 Eric Botcazou <ebotcazou@adacore.com>
* regrename.c (merge_overlapping_regs): Add registers artificially
defined at the top of the basic block to the set of live ones just
before the first insn.
2008-11-25 H.J. Lu <hongjiu.lu@intel.com> 2008-11-25 H.J. Lu <hongjiu.lu@intel.com>
Joey Ye <joey.ye@intel.com> Joey Ye <joey.ye@intel.com>
...@@ -137,8 +137,15 @@ merge_overlapping_regs (basic_block b, HARD_REG_SET *pset, ...@@ -137,8 +137,15 @@ merge_overlapping_regs (basic_block b, HARD_REG_SET *pset,
struct du_chain *t = chain; struct du_chain *t = chain;
rtx insn; rtx insn;
HARD_REG_SET live; HARD_REG_SET live;
df_ref *def_rec;
REG_SET_TO_HARD_REG_SET (live, df_get_live_in (b)); REG_SET_TO_HARD_REG_SET (live, df_get_live_in (b));
for (def_rec = df_get_artificial_defs (b->index); *def_rec; def_rec++)
{
df_ref def = *def_rec;
if (DF_REF_FLAGS (def) & DF_REF_AT_TOP)
SET_HARD_REG_BIT (live, DF_REF_REGNO (def));
}
insn = BB_HEAD (b); insn = BB_HEAD (b);
while (t) while (t)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment