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

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 1 21:47:47 PST 2017


On 02/01/2017 11:36 PM, Davide Italiano wrote:
> 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 =)

Sure ;) -- I'll reply in that thread.

  -Hal

>

-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-commits mailing list