aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2009-05-08 12:22:30 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2009-05-08 12:22:30 +0000
commit00952e9784e41f1ee7a1e4384904a5fd42f610a6 (patch)
tree556125bd3f1ec87bfe5654cb4bf76058c22173f4 /gcc/opts.c
parent2ca862e9dd939d7dd686b771f401012fb9ed9bfe (diff)
downloadgcc-00952e9784e41f1ee7a1e4384904a5fd42f610a6.zip
gcc-00952e9784e41f1ee7a1e4384904a5fd42f610a6.tar.gz
gcc-00952e9784e41f1ee7a1e4384904a5fd42f610a6.tar.bz2
re PR rtl-optimization/33928 (30% performance slowdown in floating-point code caused by r118475)
2009-05-08 Paolo Bonzini <bonzini@gnu.org> PR rtl-optimization/33928 PR 26854 * fwprop.c (use_def_ref, get_def_for_use, bitmap_only_bit_bitween, process_uses, build_single_def_use_links): New. (update_df): Update use_def_ref. (forward_propagate_into): Use get_def_for_use instead of use-def chains. (fwprop_init): Call build_single_def_use_links and let it initialize dataflow. (fwprop_done): Free use_def_ref. (fwprop_addr): Eliminate duplicate call to df_set_flags. * df-problems.c (df_rd_simulate_artificial_defs_at_top, df_rd_simulate_one_insn): New. (df_rd_bb_local_compute_process_def): Update head comment. (df_chain_create_bb): Use the new RD simulation functions. * df.h (df_rd_simulate_artificial_defs_at_top, df_rd_simulate_one_insn): New. * opts.c (decode_options): Enable fwprop at -O1. * doc/invoke.texi (-fforward-propagate): Document this. From-SVN: r147282
Diffstat (limited to 'gcc/opts.c')
-rw-r--r--gcc/opts.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index aab540c..818acdf 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -848,6 +848,7 @@ decode_options (unsigned int argc, const char **argv)
#endif
flag_guess_branch_prob = opt1;
flag_cprop_registers = opt1;
+ flag_forward_propagate = opt1;
flag_if_conversion = opt1;
flag_if_conversion2 = opt1;
flag_ipa_pure_const = opt1;
@@ -873,7 +874,6 @@ decode_options (unsigned int argc, const char **argv)
flag_thread_jumps = opt2;
flag_crossjumping = opt2;
flag_optimize_sibling_calls = opt2;
- flag_forward_propagate = opt2;
flag_cse_follow_jumps = opt2;
flag_gcse = opt2;
flag_expensive_optimizations = opt2;