diff options
author | Mostafa Hagog <mustafa@il.ibm.com> | 2004-03-03 16:32:45 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2004-03-03 11:32:45 -0500 |
commit | f9957958fe143fd987e0c3e339d2586dc7cc06cd (patch) | |
tree | a9a88dd3608db538ae3d670cde68145ab19f3038 /gcc/params.def | |
parent | 6f6dedf5bdc043a65453543e03a055d6251c17e7 (diff) | |
download | gcc-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.def | 20 |
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. |