From 510dbcce34f09967759f452e24c29269821f563d Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Mon, 5 Mar 2012 15:39:39 +0000 Subject: [PATCH] cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 Richard Guenther * cfgloop.c (verify_loop_structure): Verify dominators before using them. * graphite-clast-to-gimple.c (graphite_verify): Do not verify dominators from here. * graphite-scop-detection.c (create_sese_edges): Likewise. * loop-doloop.c (doloop_optimize_loops): Likewise. * loop-init.c (loop_optimizer_init): Likewise. * loop-unroll.c (unroll_and_peel_loops): Likewise. * loop-unswitch.c (unswitch_loops): Likewise. * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise. * tree-parloops.c (parallelize_loops): Likewise. Verify only when checking is enabled. * tree-loop-distribution.c (tree_loop_distribution): Likewise. From-SVN: r184937 --- gcc/ChangeLog | 16 ++++++++++++++++ gcc/cfgloop.c | 3 +++ gcc/graphite-clast-to-gimple.c | 1 - gcc/graphite-scop-detection.c | 1 - gcc/loop-doloop.c | 1 - gcc/loop-init.c | 1 - gcc/loop-unroll.c | 2 -- gcc/loop-unswitch.c | 1 - gcc/tree-loop-distribution.c | 2 ++ gcc/tree-parloops.c | 3 ++- gcc/tree-ssa-loop-manip.c | 1 - 11 files changed, 23 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6242143782b..b19d8834a74 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,19 @@ +2012-03-05 Richard Guenther + + * cfgloop.c (verify_loop_structure): Verify dominators before + using them. + * graphite-clast-to-gimple.c (graphite_verify): Do not verify + dominators from here. + * graphite-scop-detection.c (create_sese_edges): Likewise. + * loop-doloop.c (doloop_optimize_loops): Likewise. + * loop-init.c (loop_optimizer_init): Likewise. + * loop-unroll.c (unroll_and_peel_loops): Likewise. + * loop-unswitch.c (unswitch_loops): Likewise. + * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise. + * tree-parloops.c (parallelize_loops): Likewise. Verify + only when checking is enabled. + * tree-loop-distribution.c (tree_loop_distribution): Likewise. + 2012-03-05 Bernd Schmidt * genautomata.c (parse_automata_opt): New static function. diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c index fa64797f550..160486f13b1 100644 --- a/gcc/cfgloop.c +++ b/gcc/cfgloop.c @@ -1318,6 +1318,9 @@ verify_loop_structure (void) loop_iterator li; struct loop_exit *exit, *mexit; + /* We need up-to-date dominators, verify them. */ + verify_dominators (CDI_DOMINATORS); + /* Check sizes. */ sizes = XCNEWVEC (unsigned, num); sizes[0] = 2; diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c index abf88778f9e..6b6969be1e0 100644 --- a/gcc/graphite-clast-to-gimple.c +++ b/gcc/graphite-clast-to-gimple.c @@ -55,7 +55,6 @@ graphite_verify (void) { #ifdef ENABLE_CHECKING verify_loop_structure (); - verify_dominators (CDI_DOMINATORS); verify_loop_closed_ssa (true); #endif } diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index 0a3680b1fa1..3f4d7d8eb19 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -1026,7 +1026,6 @@ create_sese_edges (VEC (sd_region, heap) *regions) #ifdef ENABLE_CHECKING verify_loop_structure (); - verify_dominators (CDI_DOMINATORS); verify_ssa (false); #endif } diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c index 5f645694107..65ba651d675 100644 --- a/gcc/loop-doloop.c +++ b/gcc/loop-doloop.c @@ -747,7 +747,6 @@ doloop_optimize_loops (void) iv_analysis_done (); #ifdef ENABLE_CHECKING - verify_dominators (CDI_DOMINATORS); verify_loop_structure (); #endif } diff --git a/gcc/loop-init.c b/gcc/loop-init.c index 9184a148c40..daf5fa07410 100644 --- a/gcc/loop-init.c +++ b/gcc/loop-init.c @@ -91,7 +91,6 @@ loop_optimizer_init (unsigned flags) flow_loops_dump (dump_file, NULL, 1); #ifdef ENABLE_CHECKING - verify_dominators (CDI_DOMINATORS); verify_loop_structure (); #endif } diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c index 378b933baf0..5a658d85bcb 100644 --- a/gcc/loop-unroll.c +++ b/gcc/loop-unroll.c @@ -198,7 +198,6 @@ unroll_and_peel_loops (int flags) if (check) { #ifdef ENABLE_CHECKING - verify_dominators (CDI_DOMINATORS); verify_loop_structure (); #endif } @@ -255,7 +254,6 @@ peel_loops_completely (int flags) { peel_loop_completely (loop); #ifdef ENABLE_CHECKING - verify_dominators (CDI_DOMINATORS); verify_loop_structure (); #endif } diff --git a/gcc/loop-unswitch.c b/gcc/loop-unswitch.c index 78da1154299..d6c4c226961 100644 --- a/gcc/loop-unswitch.c +++ b/gcc/loop-unswitch.c @@ -149,7 +149,6 @@ unswitch_loops (void) { unswitch_single_loop (loop, NULL_RTX, 0); #ifdef ENABLE_CHECKING - verify_dominators (CDI_DOMINATORS); verify_loop_structure (); #endif } diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c index 06dd14d42ce..0d21763c72e 100644 --- a/gcc/tree-loop-distribution.c +++ b/gcc/tree-loop-distribution.c @@ -1293,7 +1293,9 @@ tree_loop_distribution (void) fprintf (dump_file, "Loop %d is the same.\n", num); } +#ifdef ENABLE_CHECKING verify_loop_structure (); +#endif VEC_free (gimple, heap, work_list); } diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index e791ac3ed49..abae3fd6e1d 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -2226,10 +2226,11 @@ parallelize_loops (void) } gen_parallel_loop (loop, reduction_list, n_threads, &niter_desc); +#ifdef ENABLE_CHECKING verify_flow_info (); - verify_dominators (CDI_DOMINATORS); verify_loop_structure (); verify_loop_closed_ssa (true); +#endif } free_stmt_vec_info_vec (); diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c index f6e2e9c937f..a0123ffcd17 100644 --- a/gcc/tree-ssa-loop-manip.c +++ b/gcc/tree-ssa-loop-manip.c @@ -1096,7 +1096,6 @@ tree_transform_and_unroll_loop (struct loop *loop, unsigned factor, #ifdef ENABLE_CHECKING verify_flow_info (); - verify_dominators (CDI_DOMINATORS); verify_loop_structure (); verify_loop_closed_ssa (true); #endif -- 2.30.2