From c21f33b6cba88a7a5369829e72631f221b7f8cc8 Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Sun, 10 Jan 2010 23:31:30 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/bb-reorder.c | 7 +++---- 2 files changed, 10 insertions(+), 4 deletions(-) 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; -- 2.30.2