[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 =)


"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