diff options
Diffstat (limited to 'gcc/loop-init.c')
-rw-r--r-- | gcc/loop-init.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/loop-init.c b/gcc/loop-init.c index 609a804..fd5069c 100644 --- a/gcc/loop-init.c +++ b/gcc/loop-init.c @@ -361,8 +361,8 @@ pass_loop2::gate (function *fun) && (flag_move_loop_invariants || flag_unswitch_loops || flag_unroll_loops - || (flag_branch_on_count_reg - && targetm.have_doloop_end ()))) + || (flag_branch_on_count_reg && targetm.have_doloop_end ()) + || cfun->has_unroll)) return true; else { @@ -560,7 +560,7 @@ public: /* opt_pass methods: */ virtual bool gate (function *) { - return (flag_unroll_loops || flag_unroll_all_loops); + return (flag_unroll_loops || flag_unroll_all_loops || cfun->has_unroll); } virtual unsigned int execute (function *); |