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.

Reply via email to