diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2009-05-08 12:22:30 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2009-05-08 12:22:30 +0000 |
commit | 00952e9784e41f1ee7a1e4384904a5fd42f610a6 (patch) | |
tree | 556125bd3f1ec87bfe5654cb4bf76058c22173f4 /gcc/df.h | |
parent | 2ca862e9dd939d7dd686b771f401012fb9ed9bfe (diff) | |
download | gcc-00952e9784e41f1ee7a1e4384904a5fd42f610a6.tar.gz |
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/df.h')
-rw-r--r-- | gcc/df.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -939,6 +939,8 @@ extern void df_grow_bb_info (struct dataflow *); extern void df_chain_dump (struct df_link *, FILE *); extern void df_print_bb_index (basic_block bb, FILE *file); extern void df_rd_add_problem (void); +extern void df_rd_simulate_artificial_defs_at_top (basic_block, bitmap); +extern void df_rd_simulate_one_insn (basic_block, rtx, bitmap); extern void df_lr_add_problem (void); extern void df_lr_verify_transfer_functions (void); extern void df_live_verify_transfer_functions (void); |