[llvm] r293727 - [IPSCCP] Teach how to not propagate return values of naked functions.

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 1 21:36:20 PST 2017


On Wed, Feb 1, 2017 at 8:38 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>
> On 02/01/2017 01:16 PM, Davide Italiano wrote:
>>
>> On Wed, Feb 1, 2017 at 3:27 AM, Hal Finkel <hfinkel at anl.gov> wrote:
>>>
>>> Hi Davide,
>>>
>>> This reminds me that we've have a long-standing problem with this an
>>> noinline in general. Specifically,
>>>
>>> int foo { return 5; } __attribute__((noinline))
>>>
>>> will essentially still be inlined because of return-value propagation. I
>>> think that we should fix that too. Regardless, can we remove noinline
>>> from
>>> the test case for naked so that we make sure we continue to test the
>>> naked
>>> handling? Or, if naked functions must be noinline, can we generalize this
>>> to
>>> just handling noinline functions instead?
>>>
>> Hal, I went ahead and fixed the bug you pointed out and updated the
>> test (r293799, r293801).
>> I hope you don't mind, and please let me know if you have additional
>> comments.
>
>
> I certainly don't mind. Thanks!
>
>  -Hal
>

I restored the old behaviour for `noinline` after a quick discussion
with Eli on the other commit. I guess you may want to comment and we
can continue the discussion from there =)

-- 
Davide

"There are no solved problems; there are only problems that are more
or less solved" -- Henri Poincare


More information about the llvm-commits mailing list