[Bug ipa/101279] Function attributes often block inlining
rguenther at suse dot de
Tue Jun 28 13:25:46 GMT 2022
--- Comment #6 from rguenther at suse dot de <rguenther at suse dot de> ---
> Am 28.06.2022 um 14:53 schrieb david at westcontrol dot com <email@example.com>:
> --- Comment #5 from David Brown <david at westcontrol dot com> ---
> (In reply to Richard Biener from comment #4)
>> (In reply to frankhb1989 from comment #3)
>>> There is a more specific instance here: can_inline_edge_by_limits_p in
>>> ipa-inline.cc treats flags and "optimize" attributes differently.
>> A bit up there's a blacklist we maintain where inlining is not OK because it
>> results in semantic differences.
>> Generally we it's hard to second-guess the users intention when looking
>> at an inline edge with different optimization settings of caller and callee.
>> For C++ comdats there might be even multiple variants with different
>> optimization level (but we only keep one, special-casing this a bit).
> I appreciate the "err on the side of caution" attitude. Perhaps there could be
> an extra "I know what I'm doing" attribute that lets you override the
> blacklisting in a particular case. This would only really make sense in cases
> where the attribute can be attached to the expressions and statements within
> the function (I think "-fwrapv" would be in this category). In cases where
> this is not possible, an error or warning message would be in order as the
> compiler can't do what the programmer is asking.
Can you provide a specific example that you would allow this way?
> You are receiving this mail because:
> You are on the CC list for the bug.
More information about the Gcc-bugs