https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103734
--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
With -fprofile-use we get
Evaluating opportunities for MorphologyApply/3266.
- considering value 134217719 for param #1 const ChannelType (caller_count: 3)
good_cloning_opportunity_p (time: 1, size: 427, count_sum: 2 (precise),
overall time saved: 2 (adjusted), single_call) -> evaluation: 0.00, threshold:
500
not cloning: time saved is not hot
good_cloning_opportunity_p (time: 1.11411e+06, size: 1493, count_sum: 2
(precise), overall time saved: 2228228 (adjusted), single_call) -> evaluation:
1268.58, threshold:
not cloning: time saved is not hot
- considering value 1 for param #2 const MorphologyMethod (caller_count: 6)
good_cloning_opportunity_p (time: 1, size: 357, count_sum: 2 (precise),
overall time saved: 2 (adjusted), single_call) -> evaluation: 0.00, threshold:
500
not cloning: time saved is not hot
good_cloning_opportunity_p (time: 1, size: 357, count_sum: 2 (precise),
overall time saved: 2 (adjusted), single_call) -> evaluation: 0.00, threshold:
500
not cloning: time saved is not hot
- considering value 1 for param #3 const ssize_t (caller_count: 6)
good_cloning_opportunity_p (time: 1, size: 424, count_sum: 2 (precise),
overall time saved: 2 (adjusted), single_call) -> evaluation: 0.00, threshold:
500
not cloning: time saved is not hot
good_cloning_opportunity_p (time: 1, size: 424, count_sum: 2 (precise),
overall time saved: 2 (adjusted), single_call) -> evaluation: 0.00, threshold:
500
not cloning: time saved is not hot
- considering value 0 for param #5 const CompositeOperator (caller_count: 6)
good_cloning_opportunity_p (time: 1, size: 427, count_sum: 2 (precise),
overall time saved: 2 (adjusted), single_call) -> evaluation: 0.00, threshold:
500
not cloning: time saved is not hot
good_cloning_opportunity_p (time: 1, size: 427, count_sum: 2 (precise),
overall time saved: 2 (adjusted), single_call) -> evaluation: 0.00, threshold:
500
not cloning: time saved is not hot
- considering value 0.0 for param #6 const double (caller_count: 6)
good_cloning_opportunity_p (time: 1, size: 427, count_sum: 2 (precise),
overall time saved: 2 (adjusted), single_call) -> evaluation: 0.00, threshold:
500
not cloning: time saved is not hot
good_cloning_opportunity_p (time: 2, size: 1575, count_sum: 2 (precise),
overall time saved: 4 (adjusted), single_call) -> evaluation: 0.00, threshold:
500
not cloning: time saved is not hot
So no cloning of MorphologyApply
For GetVirtualPixelsFromNexus
Evaluating opportunities for GetVirtualPixelsFromNexus/487.
- considering value 1 for param #4 const size_t (caller_count: 14)
good_cloning_opportunity_p (time: 1, size: 537, count_sum: 23739800
(precise), overall time saved: 23739800 (adjusted), scc) -> evaluation:
26524.92, threshold: 500
not cloning: time saved is not hot
good_cloning_opportunity_p (time: 2, size: 648, count_sum: 23739800
(precise), overall time saved: 47479600 (adjusted), scc) -> evaluation:
43962.59, threshold: 500
Creating a specialized node of GetVirtualPixelsFromNexus/487.
....
- considering value 1 for param #5 const size_t (caller_count: 12)
good_cloning_opportunity_p (time: 1, size: 537, count_sum: 19110748
(adjusted), overall time saved: 19110748 (adjusted), scc) -> evaluation:
21352.79, threshold: 500
not cloning: time saved is not hot
good_cloning_opportunity_p (time: 2, size: 648, count_sum: 19110748
(adjusted), overall time saved: 38221496 (adjusted), scc) -> evaluation:
35390.27, threshold: 500
Creating a specialized node of GetVirtualPixelsFromNexus/487.
replacing param #5 const size_t with const 1
So at least here the cloning now works.