recog.c (split_all_insns): Include new blocks in life update; do a global life update.
* recog.c (split_all_insns): Include new blocks in life update; do a global life update. From-SVN: r62941
This commit is contained in:
parent
86ac05753c
commit
9381bbc998
2 changed files with 19 additions and 7 deletions
|
@ -1,3 +1,8 @@
|
|||
2003-02-15 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* recog.c (split_all_insns): Include new blocks in life update;
|
||||
do a global life update.
|
||||
|
||||
2003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
|
||||
|
||||
* config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
|
||||
|
|
21
gcc/recog.c
21
gcc/recog.c
|
@ -2840,12 +2840,12 @@ split_all_insns (upd_life)
|
|||
int upd_life;
|
||||
{
|
||||
sbitmap blocks;
|
||||
int changed;
|
||||
bool changed;
|
||||
basic_block bb;
|
||||
|
||||
blocks = sbitmap_alloc (last_basic_block);
|
||||
sbitmap_zero (blocks);
|
||||
changed = 0;
|
||||
changed = false;
|
||||
|
||||
FOR_EACH_BB_REVERSE (bb)
|
||||
{
|
||||
|
@ -2870,7 +2870,7 @@ split_all_insns (upd_life)
|
|||
while (GET_CODE (last) == BARRIER)
|
||||
last = PREV_INSN (last);
|
||||
SET_BIT (blocks, bb->index);
|
||||
changed = 1;
|
||||
changed = true;
|
||||
insn = last;
|
||||
}
|
||||
}
|
||||
|
@ -2878,14 +2878,21 @@ split_all_insns (upd_life)
|
|||
|
||||
if (changed)
|
||||
{
|
||||
int old_last_basic_block = last_basic_block;
|
||||
|
||||
find_many_sub_basic_blocks (blocks);
|
||||
|
||||
while (old_last_basic_block < last_basic_block)
|
||||
{
|
||||
SET_BIT (blocks, old_last_basic_block);
|
||||
old_last_basic_block++;
|
||||
}
|
||||
}
|
||||
|
||||
if (changed && upd_life)
|
||||
{
|
||||
count_or_remove_death_notes (blocks, 1);
|
||||
update_life_info (blocks, UPDATE_LIFE_LOCAL, PROP_DEATH_NOTES);
|
||||
}
|
||||
update_life_info (blocks, UPDATE_LIFE_GLOBAL_RM_NOTES,
|
||||
PROP_DEATH_NOTES | PROP_REG_INFO);
|
||||
|
||||
#ifdef ENABLE_CHECKING
|
||||
verify_flow_info ();
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue