From 3663a3047f7ec94514d5c76483f1b7e8457934cf Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Fri, 9 Oct 1998 13:28:55 +0000 Subject: 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 --- gcc/global.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gcc/global.c') diff --git a/gcc/global.c b/gcc/global.c index 0bacc23..af27ea0 100644 --- a/gcc/global.c +++ b/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; -- cgit v1.1