OSDN Git Service

PR rtl-optimization/42621
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 10 Jan 2010 23:31:30 +0000 (23:31 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 10 Jan 2010 23:31:30 +0000 (23:31 +0000)
* bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
optimizing for size.
(duplicate_computed_gotos): Remove now-redundant check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155796 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/bb-reorder.c

index 708befd..9761902 100644 (file)
@@ -1,3 +1,10 @@
+2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR rtl-optimization/42621
+       * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
+       optimizing for size.
+       (duplicate_computed_gotos): Remove now-redundant check.
+
 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
 
        PR target/37454
index 561d7d0..ebbd517 100644 (file)
@@ -1981,7 +1981,9 @@ gate_duplicate_computed_gotos (void)
 {
   if (targetm.cannot_modify_jumps_p ())
     return false;
-  return (optimize > 0 && flag_expensive_optimizations);
+  return (optimize > 0
+         && flag_expensive_optimizations
+         && ! optimize_function_for_size_p (cfun));
 }
 
 
@@ -2072,9 +2074,6 @@ duplicate_computed_gotos (void)
          || single_pred_p (single_succ (bb)))
        continue;
 
-      if (!optimize_bb_for_size_p (bb))
-       continue;
-
       /* The successor block has to be a duplication candidate.  */
       if (!bitmap_bit_p (candidates, single_succ (bb)->index))
        continue;