From: Kazu Hirata Date: Mon, 14 Mar 2005 04:33:46 +0000 (+0000) Subject: tree-cfg.c (verify_stmts): Check that bb_for_stmt (stmt) == bb for every PHI node... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8de1fc1b60d0919e6d5ae255ed137280cb27af0f;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eda99eb93f7..a9a890c6007 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 * config.gcc: Remove excess indentation. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index ba04101724e..18fcab7ba8e 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);