aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-unswitch.c
diff options
context:
space:
mode:
authorMarek Polacek <mpolacek@gcc.gnu.org>2013-01-17 19:19:37 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2013-01-17 19:19:37 +0000
commit1bd3f7500b7223cded3ae19ff27eb27e05a9b147 (patch)
tree3822c20e0748ca647e4e66ae8d810fb118d5e225 /gcc/loop-unswitch.c
parent7b045477e28e324070ea503d3ce1561ba774ee01 (diff)
downloadgcc-1bd3f7500b7223cded3ae19ff27eb27e05a9b147.zip
gcc-1bd3f7500b7223cded3ae19ff27eb27e05a9b147.tar.gz
gcc-1bd3f7500b7223cded3ae19ff27eb27e05a9b147.tar.bz2
Fix PR55833.
From-SVN: r195280
Diffstat (limited to 'gcc/loop-unswitch.c')
-rw-r--r--gcc/loop-unswitch.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/loop-unswitch.c b/gcc/loop-unswitch.c
index 25cbf18..ded0aed 100644
--- a/gcc/loop-unswitch.c
+++ b/gcc/loop-unswitch.c
@@ -144,12 +144,7 @@ unswitch_loops (void)
/* Go through inner loops (only original ones). */
FOR_EACH_LOOP (li, loop, LI_ONLY_INNERMOST)
- {
- unswitch_single_loop (loop, NULL_RTX, 0);
-#ifdef ENABLE_CHECKING
- verify_loop_structure ();
-#endif
- }
+ unswitch_single_loop (loop, NULL_RTX, 0);
iv_analysis_done ();
}
@@ -369,6 +364,10 @@ unswitch_single_loop (struct loop *loop, rtx cond_checked, int num)
nloop = unswitch_loop (loop, bbs[i], copy_rtx_if_shared (cond), cinsn);
gcc_assert (nloop);
+#ifdef ENABLE_CHECKING
+ verify_loop_structure ();
+#endif
+
/* Invoke itself on modified loops. */
unswitch_single_loop (nloop, rconds, num + 1);
unswitch_single_loop (loop, conds, num + 1);