Commit df0c5d2f by Jeff Law

flow.c (find_basic_blocks_1): Keep the cfg accurate when removing an…

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
parent 832544bd
......@@ -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;
......
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