PING^5 [PATCH] rs6000: Fix some issues in rs6000_can_inline_p [PR102059]

Kewen.Lin linkw@linux.ibm.com
Thu Nov 4 10:57:40 GMT 2021


Hi,

Gentle ping this patch:

https://gcc.gnu.org/pipermail/gcc-patches/2021-September/578552.html

One related patch [1] is ready to commit, whose test cases rely on
this patch if no changes are applied to them.

[1] https://gcc.gnu.org/pipermail/gcc-patches/2021-September/579658.html

BR,
Kewen

>>>> on 2021/9/1 下午2:55, Kewen.Lin via Gcc-patches wrote:
>>>>> Hi!
>>>>>
>>>>> This patch is to fix the inconsistent behaviors for non-LTO mode
>>>>> and LTO mode.  As Martin pointed out, currently the function
>>>>> rs6000_can_inline_p simply makes it inlinable if callee_tree is
>>>>> NULL, but it's wrong, we should use the command line options
>>>>> from target_option_default_node as default.  It also replaces
>>>>> rs6000_isa_flags with the one from target_option_default_node
>>>>> when caller_tree is NULL as rs6000_isa_flags could probably
>>>>> change since initialization.
>>>>>
>>>>> It also extends the scope of the check for the case that callee
>>>>> has explicit set options, for test case pr102059-2.c inlining can
>>>>> happen unexpectedly before, it's fixed accordingly.
>>>>>
>>>>> As Richi/Mike pointed out, some tuning flags like MASK_P8_FUSION
>>>>> can be neglected for inlining, this patch also exludes them when
>>>>> the callee is attributed by always_inline.
>>>>>
>>>>> Bootstrapped and regtested on powerpc64le-linux-gnu Power9.
>>>>>
>>>>> BR,
>>>>> Kewen
>>>>> -----
>>>>> gcc/ChangeLog:
>>>>>
>>>>> 	PR ipa/102059
>>>>> 	* config/rs6000/rs6000.c (rs6000_can_inline_p): Adjust with
>>>>> 	target_option_default_node and consider always_inline_safe flags.
>>>>>
>>>>> gcc/testsuite/ChangeLog:
>>>>>
>>>>> 	PR ipa/102059
>>>>> 	* gcc.target/powerpc/pr102059-1.c: New test.
>>>>> 	* gcc.target/powerpc/pr102059-2.c: New test.
>>>>> 	* gcc.target/powerpc/pr102059-3.c: New test.
>>>>> 	* gcc.target/powerpc/pr102059-4.c: New test.
>>>>>
>>>>


More information about the Gcc-patches mailing list