Honza?

Thanks,
Martin

On 06/30/2017 03:50 PM, Martin Liška wrote:
> On 06/28/2017 05:18 PM, Jan Hubicka wrote:
>>> On 06/28/2017 04:24 PM, Jan Hubicka wrote:
>>>>> -  /* If callee has no option attributes, then it is ok to inline.  */
>>>>> -  if (!callee_tree)
>>>>> +  /* If callee has no option attributes (or default),
>>>>> +     then it is ok to inline.  */
>>>>> +  if (!callee_tree || callee_tree == target_option_default_node)
>>>>
>>>> I am not sure this actually makes sense, because 
>>>> target_option_default_node is not very
>>>> meaningful for LTO (it contains whatever was passed to LTO driver). 
>>>
>>> I see!
>>>
>>>  Perhaps one can check
>>>> for explicit optimization/machine attribute and whether caller and callee 
>>>> come from
> 
> I'm not sure what you mean by 'for explicit optimization/machine attribute' ?
> 
> I'm attaching a new patch, is it closer?
> 
> Martin
> 
>>>> same compilation unit, though this is quite hackish and will do unexpected 
>>>> things with COMDATs.
>>>
>>> That's quite cumbersome. Any other idea than marking the PR as won't fix?
>>
>> Yep, it is not prettiest. The problem is that the concept that callee can 
>> change semantics
>> when no explicit attribute is present is sloppy.  I am not sure how many 
>> programs rely on it
>> (it is kind of surprising to see functions not being inlined into your 
>> target attribute annotated
>> function I guess).
>> Note that we check for original file in inliner already - this can be done 
>> by comparing lto_file_data
>> of corresponding cgraph nodes.
>>
>> Honza
>>
> 

Reply via email to