https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84737
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW CC| |jamborm at gcc dot gnu.org --- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> --- I see, the change is only in resid_.constprop.1 that is created after the patch: before: Evaluating opportunities for resid/1. - considering value &x.u for param #0 u (caller_count: 3) good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 38778) -> evaluation: 229, threshold: 500 good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 38778) -> evaluation: 229, threshold: 500 - considering value &x.v for param #1 v (caller_count: 3) good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 38778) -> evaluation: 229, threshold: 500 good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 38778) -> evaluation: 229, threshold: 500 - considering value &x.r for param #2 r (caller_count: 3) good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 38778) -> evaluation: 229, threshold: 500 good_cloning_opportunity_p (time: 2, size: 246, freq_sum: 38778) -> evaluation: 315, threshold: 500 - considering value &x.a for param #4 a (caller_count: 4) good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 42518) -> evaluation: 251, threshold: 500 good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 42518) -> evaluation: 251, threshold: 500 after: Evaluating opportunities for resid/1. - considering value &x.u for param #0 u (caller_count: 3) good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 74554) -> evaluation: 441, threshold: 500 good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 74554) -> evaluation: 441, threshold: 500 - considering value &x.v for param #1 v (caller_count: 3) good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 74554) -> evaluation: 441, threshold: 500 good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 74554) -> evaluation: 441, threshold: 500 - considering value &x.r for param #2 r (caller_count: 3) good_cloning_opportunity_p (time: 1, size: 169, freq_sum: 74554) -> evaluation: 441, threshold: 500 good_cloning_opportunity_p (time: 2, size: 246, freq_sum: 74554) -> evaluation: 606, threshold: 500 Creating a specialized node of resid/1. Martin can you please take a look and evaluate how profitable is that transformation? Maybe it can help you with tuning of the param as in PR84149. Thanks