[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:44:38 PST 2017


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.

-- 
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