global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after end of last block if...

* global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
	end of last block if last real insn is a JUMP_INSN.

From-SVN: r42977
This commit is contained in:
Richard Kenner 2001-06-07 20:17:28 +00:00 committed by Richard Kenner
parent 47c2a318dd
commit 28bf9c8843
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,8 @@
Thu Jun 7 16:17:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
end of last block if last real insn is a JUMP_INSN.
2001-06-07 Joseph S. Myers <jsm28@cam.ac.uk>
* NEWS: Regenerate.

View File

@ -1851,11 +1851,17 @@ build_insn_chain (first)
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. */
always be the right exit test. Allow an ADDR_VEC or ADDR_DIF_VEC if
the previous real insn is a JUMP_INSN. */
if (b == n_basic_blocks)
{
for (first = NEXT_INSN (first) ; first; first = NEXT_INSN (first))
if (INSN_P (first) && GET_CODE (PATTERN (first)) != USE)
if (INSN_P (first)
&& GET_CODE (PATTERN (first)) != USE
&& ! ((GET_CODE (PATTERN (first)) == ADDR_VEC
|| GET_CODE (PATTERN (first)) == ADDR_DIFF_VEC)
&& prev_real_insn (first) != 0
&& GET_CODE (prev_real_insn (first)) == JUMP_INSN))
abort ();
break;
}