global.c (build_insn_chain): Verify no real insns exist past the end of the last basic block, then exit the loop.
* global.c (build_insn_chain): Verify no real insns exist past the end of the last basic block, then exit the loop. From-SVN: r22961
This commit is contained in:
parent
a9e6be8ed0
commit
3663a3047f
@ -1,3 +1,8 @@
|
||||
Fri Oct 9 14:26:44 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* global.c (build_insn_chain): Verify no real insns exist past the
|
||||
end of the last basic block, then exit the loop.
|
||||
|
||||
Fri Oct 9 11:44:47 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||||
|
||||
* loop.c (insert_bct): Ensure loop_iteration_var non-zero before use.
|
||||
|
14
gcc/global.c
14
gcc/global.c
@ -1722,6 +1722,20 @@ build_insn_chain (first)
|
||||
|
||||
if (first == basic_block_end[b])
|
||||
b++;
|
||||
|
||||
/* Stop after we pass the end of the last basic block. Verify that
|
||||
no real insns are after the end of the last basic block.
|
||||
|
||||
We may want to reorganize the loop somewhat since this test should
|
||||
always be the right exit test. */
|
||||
if (b == n_basic_blocks)
|
||||
{
|
||||
for (first = NEXT_INSN (first) ; first; first = NEXT_INSN (first))
|
||||
if (GET_RTX_CLASS (GET_CODE (first)) == 'i'
|
||||
&& GET_CODE (PATTERN (first)) != USE)
|
||||
abort ();
|
||||
break;
|
||||
}
|
||||
}
|
||||
FREE_REG_SET (live_relevant_regs);
|
||||
*p = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user