summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cfghooks.c8
2 files changed, 6 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ae2ce285ae3..b31134fe915 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-07-12 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/32729
+ * cfghooks.c (can_duplicate_block_p): Do not forbid duplicating blocks
+ that fallthru to exit.
+
2007-07-12 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.md (symGOTOFF2reg): Add missing parenthesis.
diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c
index 286625766e3..d436f011fac 100644
--- a/gcc/cfghooks.c
+++ b/gcc/cfghooks.c
@@ -838,8 +838,6 @@ tidy_fallthru_edges (void)
bool
can_duplicate_block_p (basic_block bb)
{
- edge e;
-
if (!cfg_hooks->can_duplicate_block_p)
internal_error ("%s does not support can_duplicate_block_p",
cfg_hooks->name);
@@ -847,12 +845,6 @@ can_duplicate_block_p (basic_block bb)
if (bb == EXIT_BLOCK_PTR || bb == ENTRY_BLOCK_PTR)
return false;
- /* Duplicating fallthru block to exit would require adding a jump
- and splitting the real last BB. */
- e = find_edge (bb, EXIT_BLOCK_PTR);
- if (e && (e->flags & EDGE_FALLTHRU))
- return false;
-
return cfg_hooks->can_duplicate_block_p (bb);
}