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
This commit is contained in:
parent
4c067742bd
commit
e186ff694e
2 changed files with 20 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
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
|
||||
|
|
15
gcc/cse.c
15
gcc/cse.c
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue