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/ipa-prop.h | |
parent | 6756d5a5fceda92be4c3edf72337c1dea375a00f (diff) |
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/ipa-prop.h')
-rw-r--r-- | gcc/ipa-prop.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h index 1b78ccc3a2b..0488254492a 100644 --- a/gcc/ipa-prop.h +++ b/gcc/ipa-prop.h @@ -330,6 +330,10 @@ struct ipa_node_params /* Node has been completely replaced by clones and will be removed after ipa-cp is finished. */ unsigned node_dead : 1; + /* Node is involved in a recursion, potentionally indirect. */ + unsigned node_within_scc : 1; + /* Node is calling a private function called only once. */ + unsigned node_calling_single_call : 1; }; /* ipa_node_params access functions. Please use these to access fields that |