[llvm] r293799 - [IPSCCP] Don't propagate return values of functions marked as noinline.

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


On Wed, Feb 1, 2017 at 12:44 PM, Davide Italiano <davide at freebsd.org> wrote:
> On Wed, Feb 1, 2017 at 12:41 PM, Hans Wennborg <hans at chromium.org> wrote:
>> On Wed, Feb 1, 2017 at 10:52 AM, Davide Italiano via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>>> Author: davide
>>> Date: Wed Feb  1 12:52:20 2017
>>> New Revision: 293799
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=293799&view=rev
>>> Log:
>>> [IPSCCP] Don't propagate return values of functions marked as noinline.
>>>
>>> This tries to address what Hal defined (in the post-commit review of
>>> r293727) a long-standing problem with noinline, where we end up
>>> de facto inlining trivial functions e.g.
>>>
>>> __attribute__((noinline)) int patatino(void) { return 5; }
>>>
>>> because of return value propagation.
>>>
>>> Added:
>>>     llvm/trunk/test/Transforms/IPConstantProp/noinline-return.ll
>>> Modified:
>>>     llvm/trunk/lib/Transforms/Scalar/SCCP.cpp
>>
>> It seems this broke a test:
>> Clang :: CodeGen__link-bitcode-file.c
>> http://bb.pgr.jp/builders/cmake-clang-x86_64-linux/builds/59602
>
> Checking.
>

rL293810 , thanks for noticing.

--
Davide


More information about the llvm-commits mailing list