[Bug ipa/101279] Function attributes often block inlining

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
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 <gcc-bugzilla@gcc.gnu.org>:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101279
> --- 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 mailing list