re PR ipa/65478 (crafty performance regression)
authorMartin Jambor <mjambor@suse.cz>
Sun, 29 Mar 2015 15:38:52 +0000 (17:38 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sun, 29 Mar 2015 15:38:52 +0000 (15:38 +0000)
commitaf21714c7bac20c348d544a285a2dc95fe271a5d
treee453ad69e49ea0bba2b3abce3f4a11b1b1315dd6
parenta1bff765cbff0bdab0c25bcf25b737c511c7f2d7
re PR ipa/65478 (crafty performance regression)

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.

From-SVN: r221763
gcc/ChangeLog
gcc/doc/invoke.texi
gcc/ipa-cp.c
gcc/ipa-prop.h
gcc/params.def