aboutsummaryrefslogtreecommitdiff
path: root/gcc/params.def
diff options
context:
space:
mode:
authorMostafa Hagog <mustafa@il.ibm.com>2004-03-03 16:32:45 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2004-03-03 11:32:45 -0500
commitf9957958fe143fd987e0c3e339d2586dc7cc06cd (patch)
treea9a88dd3608db538ae3d670cde68145ab19f3038 /gcc/params.def
parent6f6dedf5bdc043a65453543e03a055d6251c17e7 (diff)
downloadgcc-f9957958fe143fd987e0c3e339d2586dc7cc06cd.zip
gcc-f9957958fe143fd987e0c3e339d2586dc7cc06cd.tar.gz
gcc-f9957958fe143fd987e0c3e339d2586dc7cc06cd.tar.bz2
common.opt: Add description of the new -fgcse-after-reload flag.
2004-03-03 Mostafa Hagog <mustafa@il.ibm.com> * common.opt: Add description of the new -fgcse-after-reload flag. * flags.h (flag_gcse_after_reload): Declaration of global variable. * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p, reg_used_between_after_reload_p, rtx get_avail_load_store_reg, is_jump_table_basic_block, bb_has_well_behaved_predecessors, get_bb_avail_insn, hash_scan_set_after_reload, compute_hash_table_after_reload, eliminate_partially_redundant_loads, gcse_after_reload, get_bb_avail_insn): New functions to implement gcse-after-reload. (gcse_after_reload_main): New function, the main entry point to gcse-after-reload. * rtl.h (gcse_after_reload_main): Declaration of the new function. * opts.c (common_handle_option): Handle the -fgcse-after-reload flag. * toplev.c (flag_gcse_after_reload): Initialization. * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main. * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION, PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning the gcse after reload optimization. * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION, GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning parameters. * doc/invoke.texi: Documentation for the new flag gcse-after-reload. From-SVN: r78842
Diffstat (limited to 'gcc/params.def')
-rw-r--r--gcc/params.def20
1 files changed, 19 insertions, 1 deletions
diff --git a/gcc/params.def b/gcc/params.def
index e00e22e..7be8ddc 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -131,7 +131,25 @@ DEFPARAM(PARAM_MAX_GCSE_PASSES,
"max-gcse-passes",
"The maximum number of passes to make when doing GCSE",
1)
-
+/* This is the threshold ratio when to perform partial redundancy
+ elimination after reload. We perform partial redundancy elimination
+ when the following holds:
+ (Redundant load execution count)
+ ------------------------------- >= GCSE_AFTER_RELOAD_PARTIAL_FRACTION
+ (Added loads execution count) */
+DEFPARAM(PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
+ "gcse-after-reload-partial-fraction",
+ "The threshold ratio for performing partial redundancy elimination \
+ after reload.",
+ 3)
+/* This is the threshold ratio of the critical edges execution count compared to
+ the redundant loads execution count that permits performing the load
+ redundancy elimination in gcse after reload. */
+DEFPARAM(PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION,
+ "gcse-after-reload-critical-fraction",
+ "The threshold ratio of critical edges execution count that permit \
+ performing redundancy elimination after reload.",
+ 10)
/* This parameter limits the number of insns in a loop that will be unrolled,
and by how much the loop is unrolled.