aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2007-07-12 12:24:19 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2007-07-12 10:24:19 +0000
commit44f51d597ed4102d6da3bd4cf631c5031b21c975 (patch)
tree30155d89a5ba3b59e55b09c976b20f6e31fd9e5b /gcc
parent553b66ad1d40ff948dfe1215e38787c1799110ff (diff)
downloadgcc-44f51d597ed4102d6da3bd4cf631c5031b21c975.zip
gcc-44f51d597ed4102d6da3bd4cf631c5031b21c975.tar.gz
gcc-44f51d597ed4102d6da3bd4cf631c5031b21c975.tar.bz2
re PR rtl-optimization/32729 (Loop unrolling not performed with large constant loop bound)
PR rtl-optimization/32729 * cfghooks.c (can_duplicate_block_p): Do not forbid duplicating blocks that fallthru to exit. From-SVN: r126576
Diffstat (limited to 'gcc')
-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 ae2ce28..b31134f 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 2866257..d436f01 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);
}