[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

Devang Patel dpatel at apple.com
Mon Sep 22 11:02:57 PDT 2008


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



More information about the llvm-commits mailing list