diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2005-03-14 04:33:46 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2005-03-14 04:33:46 +0000 |
commit | 8de1fc1b60d0919e6d5ae255ed137280cb27af0f (patch) | |
tree | 2c179e209fe6978ca37fff3f2d07a0dbc088c7ef | |
parent | 80fb36b1a817d64ce240ab9b0f70069ef42d2796 (diff) | |
download | gcc-8de1fc1b60d0919e6d5ae255ed137280cb27af0f.zip gcc-8de1fc1b60d0919e6d5ae255ed137280cb27af0f.tar.gz gcc-8de1fc1b60d0919e6d5ae255ed137280cb27af0f.tar.bz2 |
tree-cfg.c (verify_stmts): Check that bb_for_stmt (stmt) == bb for every PHI node and statement.
* tree-cfg.c (verify_stmts): Check that
bb_for_stmt (stmt) == bb for every PHI node and statement.
From-SVN: r96418
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 13 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eda99eb..a9a890c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -10,6 +10,9 @@ Make them static. * hard-reg-set.h: Remove the corresponding declarations. + * tree-cfg.c (verify_stmts): Check that + bb_for_stmt (stmt) == bb for every PHI node and statement. + 2005-03-14 Alan Modra <amodra@bigpond.net.au> * config.gcc: Remove excess indentation. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index ba04101..18fcab7 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -3696,6 +3696,12 @@ verify_stmts (void) { int phi_num_args = PHI_NUM_ARGS (phi); + if (bb_for_stmt (phi) != bb) + { + error ("bb_for_stmt (phi) is set to a wrong basic block\n"); + err |= true; + } + for (i = 0; i < phi_num_args; i++) { tree t = PHI_ARG_DEF (phi, i); @@ -3734,6 +3740,13 @@ verify_stmts (void) for (bsi = bsi_start (bb); !bsi_end_p (bsi); ) { tree stmt = bsi_stmt (bsi); + + if (bb_for_stmt (stmt) != bb) + { + error ("bb_for_stmt (stmt) is set to a wrong basic block\n"); + err |= true; + } + bsi_next (&bsi); err |= verify_stmt (stmt, bsi_end_p (bsi)); addr = walk_tree (&stmt, verify_node_sharing, htab, NULL); |