re PR rtl-optimization/32729 (Loop unrolling not performed with large constant loop...
authorZdenek Dvorak <dvorakz@suse.cz>
Thu, 12 Jul 2007 10:24:19 +0000 (12:24 +0200)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Thu, 12 Jul 2007 10:24:19 +0000 (10:24 +0000)
PR rtl-optimization/32729
* cfghooks.c (can_duplicate_block_p): Do not forbid duplicating blocks
that fallthru to exit.

From-SVN: r126576

gcc/ChangeLog
gcc/cfghooks.c

index ae2ce285ae39aab92b911ea159d3d0809777b846..b31134fe915a283f52b08eabbf93990d8a6306f1 100644 (file)
@@ -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.
index 286625766e38e6530678d36624c25e6324350db3..d436f011fac35409b214e4e2661d1856ff61c40a 100644 (file)
@@ -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);
 }