Commit e186ff69 by Andreas Krebbel Committed by Andreas Krebbel

cse.c (cse_extended_basic_block): Invalidate artificial defs at bb start.

2008-03-06  Andreas Krebbel  <krebbel1@de.ibm.com>

	* cse.c (cse_extended_basic_block): Invalidate artificial defs
	at bb start.

From-SVN: r132968
parent 4c067742
2008-03-06 Andreas Krebbel <krebbel1@de.ibm.com>
* cse.c (cse_extended_basic_block): Invalidate artificial defs
at bb start.
2008-03-06 Richard Guenther <rguenther@suse.de>
* alias.c (struct alias_set_entry): Move has_zero_child field
......
......@@ -5992,6 +5992,21 @@ cse_extended_basic_block (struct cse_basic_block_data *ebb_data)
int no_conflict = 0;
bb = ebb_data->path[path_entry].bb;
/* Invalidate recorded information for eh regs if there is an EH
edge pointing to that bb. */
if (bb_has_eh_pred (bb))
{
struct df_ref **def_rec;
for (def_rec = df_get_artificial_defs (bb->index); *def_rec; def_rec++)
{
struct df_ref *def = *def_rec;
if (DF_REF_FLAGS (def) & DF_REF_AT_TOP)
invalidate (DF_REF_REG (def), GET_MODE (DF_REF_REG (def)));
}
}
FOR_BB_INSNS (bb, insn)
{
/* If we have processed 1,000 insns, flush the hash table to
......
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