[llvm-commits] [llvm] r55673 - in /llvm/trunk: lib/Transforms/IPO/Inliner.cpp test/Transforms/Inline/2008-09-02-AlwaysInline.ll test/Transforms/Inline/2008-09-02-NoInline.ll

Chris Lattner clattner at apple.com
Mon Sep 22 13:33:47 PDT 2008


On Sep 22, 2008, at 11:02 AM, Devang Patel wrote:

>
> On Sep 21, 2008, at 8:36 PM, Chris Lattner wrote:
>
>>
>> On Sep 3, 2008, at 9:41 AM, Devang Patel wrote:
>>
>>>
>>> On Sep 2, 2008, at 11:59 PM, Duncan Sands wrote:
>>>
>>>> Hi Devang,
>>>>
>>>>> respect inline=never and inline=always notes.
>>>>
>>>> what happens if you set inline=always on a function
>>>> that calls itself?  Does the inliner go into an
>>>> infinite loop?
>>>
>>> That'd be a bug.
>>
>> Ok, so what happens now?  Is that a bug in the current code, or  
>> have you fixed that?
>
> The inliner does not inline a call where caller and callee are same.  
> inline=always does not override this behavior.
>
> The inliner may decide to not inline due to various reasons :
> - caller == callee
> - weak linkage
> - function takes variable number of args
> - GCs do not match
>
> inline=always does not override these checks.

Ok, makes sense!

-Chris




More information about the llvm-commits mailing list