From 4e5d521bb552991496445f0303ef84a95f67ba41 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Wed, 29 Apr 2009 15:40:06 +0000 Subject: [PATCH] bfin.c (bfin_optimize_loop): When looking for the last insn before the loop_end instruction... * config/bfin/bfin.c (bfin_optimize_loop): When looking for the last insn before the loop_end instruction, don't look past labels. From-SVN: r146980 --- gcc/ChangeLog | 3 +++ gcc/config/bfin/bfin.c | 1 + 2 files changed, 4 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f8e05d6f90..a2d280fd8f1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -3,6 +3,9 @@ * config/bfin/bfin.c (bfin_optimize_loop): If we need a scratch reg, scan backwards to try to find a constant to initialize it. + * config/bfin/bfin.c (bfin_optimize_loop): When looking for the last + insn before the loop_end instruction, don't look past labels. + 2009-04-29 Richard Guenther PR middle-end/39937 diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c index 0808522afdf..63f60e1f60c 100644 --- a/gcc/config/bfin/bfin.c +++ b/gcc/config/bfin/bfin.c @@ -4012,6 +4012,7 @@ bfin_optimize_loop (loop_info loop) break; if (single_pred_p (bb) + && single_pred_edge (bb)->flags & EDGE_FALLTHRU && single_pred (bb) != ENTRY_BLOCK_PTR) { bb = single_pred (bb); -- 2.30.2