diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-03-29 15:38:52 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-03-29 15:38:52 +0000 |
commit | 39fcd8387cafbb77ca113b65c90d4287d53c1e79 (patch) | |
tree | e453ad69e49ea0bba2b3abce3f4a11b1b1315dd6 /gcc/params.def | |
parent | 6756d5a5fceda92be4c3edf72337c1dea375a00f (diff) | |
download | gcc-39fcd8387cafbb77ca113b65c90d4287d53c1e79.tar.gz |
PR ipa/65478
* params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
(PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
* ipa-prop.h (ipa_node_params): New flags node_within_scc and
node_calling_single_call.
* ipa-cp.c (count_callers): New function.
(set_single_call_flag): Likewise.
(initialize_node_lattices): Count callers and set single_flag_call if
necessary.
(incorporate_penalties): New function.
(good_cloning_opportunity_p): Use it, dump new flags.
(propagate_constants_topo): Set node_within_scc flag if appropriate.
* doc/invoke.texi (ipa-cp-recursion-penalty,
ipa-cp-single-call-pentalty): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221763 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/params.def')
-rw-r--r-- | gcc/params.def | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/params.def b/gcc/params.def index f890cb0e176..5e2c7695865 100644 --- a/gcc/params.def +++ b/gcc/params.def @@ -999,6 +999,18 @@ DEFPARAM (PARAM_IPA_CP_EVAL_THRESHOLD, "beneficial to clone.", 500, 0, 0) +DEFPARAM (PARAM_IPA_CP_RECURSION_PENALTY, + "ipa-cp-recursion-penalty", + "Percentage penalty the recursive functions will receive when they " + "are evaluated for cloning.", + 40, 0, 100) + +DEFPARAM (PARAM_IPA_CP_SINGLE_CALL_PENALTY, + "ipa-cp-single-call-penalty", + "Percentage penalty functions containg a single call to another " + "function will receive when they are evaluated for cloning.", + 15, 0, 100) + DEFPARAM (PARAM_IPA_MAX_AGG_ITEMS, "ipa-max-agg-items", "Maximum number of aggregate content items for a parameter in " |