summaryrefslogtreecommitdiff
path: root/gcc/loop-unswitch.c
diff options
context:
space:
mode:
authormpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>2013-01-17 19:19:37 +0000
committermpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>2013-01-17 19:19:37 +0000
commitc1f9696864b1b8ab20a6798751eec48986a2e98a (patch)
tree3822c20e0748ca647e4e66ae8d810fb118d5e225 /gcc/loop-unswitch.c
parentbda7c755766f978c47db4a05771adbd3fc492707 (diff)
downloadgcc-c1f9696864b1b8ab20a6798751eec48986a2e98a.tar.gz
Fix PR55833.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195280 138bc75d-0d04-0410-961f-82ee72b054a4
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 25cbf181283..ded0aed3e0e 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);