aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-prop.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2015-03-29 15:38:52 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2015-03-29 15:38:52 +0000
commit39fcd8387cafbb77ca113b65c90d4287d53c1e79 (patch)
treee453ad69e49ea0bba2b3abce3f4a11b1b1315dd6 /gcc/ipa-prop.h
parent6756d5a5fceda92be4c3edf72337c1dea375a00f (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.h4
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