summaryrefslogtreecommitdiff
path: root/gcc/df.h
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/df.h
parent2ca862e9dd939d7dd686b771f401012fb9ed9bfe (diff)
downloadgcc-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.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/df.h b/gcc/df.h
index ab3a661bbc1..f8084e022d0 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -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);