aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-init.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/loop-init.c')
-rw-r--r--gcc/loop-init.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index 0e0b0cf4c88..cfe4cac6b6b 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -129,12 +129,15 @@ loop_optimizer_finalize (struct loops *loops, FILE *dumpfile)
static bool
gate_handle_loop2 (void)
{
- return (optimize > 0 && flag_loop_optimize2
+ return (optimize > 0
&& (flag_move_loop_invariants
|| flag_unswitch_loops
|| flag_peel_loops
|| flag_unroll_loops
- || flag_branch_on_count_reg));
+#ifdef HAVE_doloop_end
+ || (flag_branch_on_count_reg && HAVE_doloop_end)
+#endif
+ ));
}
struct tree_opt_pass pass_loop2 =