aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cfgcleanup.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 53b72b2..6959dd4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgcleanup.c (try_forward_edges): Do not update BB_FORWARDER_BLOCK.
+ (try_optimize_cfg): Update BB_FORWARDER_BLOCK if try_forward_edges
+ returns true.
+
2011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
* config/mips/mips.c (mips_default_arch): Honor MIPS_ISA_DEFAULT.
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index 179cd00..c36af89 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -599,9 +599,6 @@ try_forward_edges (int mode, basic_block b)
+ REG_BR_PROB_BASE / 2)
/ REG_BR_PROB_BASE);
- if (!FORWARDER_BLOCK_P (b) && forwarder_block_p (b))
- b->flags |= BB_FORWARDER_BLOCK;
-
do
{
edge t;
@@ -2693,7 +2690,10 @@ try_optimize_cfg (int mode)
/* Simplify branch to branch. */
if (try_forward_edges (mode, b))
- changed_here = true;
+ {
+ update_forwarder_flag (b);
+ changed_here = true;
+ }
/* Look for shared code between blocks. */
if ((mode & CLEANUP_CROSSJUMP)