aboutsummaryrefslogtreecommitdiff
path: root/gcc/reorg.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-01-28 17:05:41 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2009-01-28 17:05:41 +0100
commitc7789bfb8c6f12d57f24952a4ac3c0ae935db61b (patch)
tree42d7b3132654ac4bebb78e905e803a7d5675ccc9 /gcc/reorg.c
parentde081cfd3b88d197c6c3e545c6d55581140c7c21 (diff)
downloadgcc-c7789bfb8c6f12d57f24952a4ac3c0ae935db61b.zip
gcc-c7789bfb8c6f12d57f24952a4ac3c0ae935db61b.tar.gz
gcc-c7789bfb8c6f12d57f24952a4ac3c0ae935db61b.tar.bz2
re PR rtl-optimization/38740 (Incorrect delayed branch optimization)
PR rtl-optimization/38740 * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling if !optimize. * config/mips/mips.c (mips_reorg): Likewise. From-SVN: r143733
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r--gcc/reorg.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index fd6a58e..8b3219a 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -4046,7 +4046,8 @@ static bool
gate_handle_delay_slots (void)
{
#ifdef DELAY_SLOTS
- return flag_delayed_branch && !crtl->dbr_scheduled_p;
+ /* At -O0 dataflow info isn't updated after RA. */
+ return optimize > 0 && flag_delayed_branch && !crtl->dbr_scheduled_p;
#else
return 0;
#endif