From: Steven Bosscher Date: Sun, 10 Jan 2010 23:31:30 +0000 (+0000) Subject: re PR rtl-optimization/42621 (Computed gotos on AMD 800% slower) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c21f33b6cba88a7a5369829e72631f221b7f8cc8;p=gcc.git re PR rtl-optimization/42621 (Computed gotos on AMD 800% slower) 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. From-SVN: r155796 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 708befd48bc..9761902af45 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-01-10 Steven Bosscher + + 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 PR target/37454 diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c index 561d7d00444..ebbd517dabd 100644 --- a/gcc/bb-reorder.c +++ b/gcc/bb-reorder.c @@ -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;