flow.c (find_basic_blocks_1): Keep the cfg accurate when removing an unconditional jump around deleted blocks.
P * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing an unconditional jump around deleted blocks. From-SVN: r18468
This commit is contained in:
parent
832544bd03
commit
df0c5d2fd3
1 changed files with 8 additions and 0 deletions
|
@ -811,6 +811,14 @@ find_basic_blocks_1 (f, nonlocal_label_list, live_reachable_p)
|
|||
&& INSN_UID (label) != 0
|
||||
&& BLOCK_NUM (label) == j)
|
||||
{
|
||||
int k;
|
||||
|
||||
/* The deleted blocks still show up in the cfg,
|
||||
so we must set basic_block_drops_in for blocks
|
||||
I to J inclusive to keep the cfg accurate. */
|
||||
for (k = i; k <= j; k++)
|
||||
basic_block_drops_in[k] = 1;
|
||||
|
||||
PUT_CODE (insn, NOTE);
|
||||
NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
|
||||
NOTE_SOURCE_FILE (insn) = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue