summaryrefslogtreecommitdiff
path: root/gcc/cfgloopmanip.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2012-08-14 16:01:10 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2012-08-14 16:01:10 +0000
commitcc360b36dfccb7179f0ff2d01bfeb5161237aaae (patch)
tree4464f678351d15a2ac886efa3d2f24239ee68188 /gcc/cfgloopmanip.c
parent2ba31c054ff58914b68ff5e8abe3e48d46e14658 (diff)
downloadgcc-cc360b36dfccb7179f0ff2d01bfeb5161237aaae.tar.gz
graphite-scop-detection.c (create_sese_edges): Compute dominance info before trying to fix loop structure.
* graphite-scop-detection.c (create_sese_edges): Compute dominance info before trying to fix loop structure. * cfgloopmanip.c (fix_loop_structure): Require fast DOM queries. * tree-cfgcleanup.c (repair_loop_structures): Likewise. * cfgloop.c (verify_loop_structure): Verify loop fathers. From-SVN: r190390
Diffstat (limited to 'gcc/cfgloopmanip.c')
-rw-r--r--gcc/cfgloopmanip.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index 98a306fd68c..d84a56de193 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -1640,6 +1640,9 @@ fix_loop_structure (bitmap changed_bbs)
bool record_exits = false;
struct loop **superloop = XNEWVEC (struct loop *, number_of_loops ());
+ /* We need exact and fast dominance info to be available. */
+ gcc_assert (dom_info_state (CDI_DOMINATORS) == DOM_OK);
+
/* Remove the old bb -> loop mapping. Remember the depth of the blocks in
the loop hierarchy, so that we can recognize blocks whose loop nesting
relationship has changed. */