flow.c (verify_flow_info): Added two more sanity checks.

Tue May  2 00:20:30 2000  Jason Eckhardt  <jle@cygnus.com>

        * flow.c (verify_flow_info): Added two more sanity checks. The
        first checks that the blocks are numbered consecutively. The second
        checks that n_basic_blocks is actually equal to the number of
        basic blocks in the insn chain.

From-SVN: r33632
This commit is contained in:
Jason Eckhardt 2000-05-03 16:39:55 +00:00 committed by Jason Eckhardt
parent 754ac8f7b2
commit 18ca529b19
2 changed files with 24 additions and 1 deletions

View File

@ -1,3 +1,10 @@
Tue May 2 00:20:30 2000 Jason Eckhardt <jle@cygnus.com>
* flow.c (verify_flow_info): Added two more sanity checks. The
first checks that the blocks are numbered consecutively. The second
checks that n_basic_blocks is actually equal to the number of
basic blocks in the insn chain.
2000-05-03 Zack Weinberg <zack@wolery.cumb.org>
* cpplib.h: Add accessor macros for token lists.

View File

@ -6177,7 +6177,7 @@ verify_flow_info ()
const rtx rtx_first = get_insns ();
basic_block *bb_info;
rtx x;
int i, err = 0;
int i, last_bb_num_seen, num_bb_notes, err = 0;
bb_info = (basic_block *) xcalloc (max_uid, sizeof (basic_block));
@ -6340,9 +6340,21 @@ verify_flow_info ()
}
}
last_bb_num_seen = -1;
num_bb_notes = 0;
x = rtx_first;
while (x)
{
if (GET_CODE (x) == NOTE
&& NOTE_LINE_NUMBER (x) == NOTE_INSN_BASIC_BLOCK)
{
basic_block bb = NOTE_BASIC_BLOCK (x);
num_bb_notes++;
if (bb->index != last_bb_num_seen + 1)
fatal ("Basic blocks not numbered consecutively");
last_bb_num_seen = bb->index;
}
if (!bb_info[INSN_UID (x)])
{
switch (GET_CODE (x))
@ -6378,6 +6390,10 @@ verify_flow_info ()
x = NEXT_INSN (x);
}
if (num_bb_notes != n_basic_blocks)
fatal ("number of bb notes in insn chain (%d) != n_basic_blocks (%d)",
num_bb_notes, n_basic_blocks);
if (err)
abort ();