[llvm-commits] r55638 - /llvm/trunk/include/llvm/Function.h

Devang Patel dpatel at apple.com
Wed Oct 1 09:17:12 PDT 2008


On Oct 1, 2008, at 12:54 AM, Duncan Sands wrote:

> On Tuesday 30 September 2008 18:28:58 Devang Patel wrote:
>>
>> On Sep 30, 2008, at 12:39 AM, Duncan Sands wrote:
>>
>>>> Ignore inliner for a while, and decide what code generator should  
>>>> do
>>>> for following ?
>>>>
>>>> define float @foo(float %a, float %b) x86_no_sse {
>>>>       %t = mul float %a, %b
>>>>       ret float %t
>>>> }
>>>
>>> It would use the x86 floating point stack, like it does now
>>> if you compile with -mattr=-sse.  This is less efficient than
>>> using sse.
>>
>> So, I guess you answered your question.
>
> So what you are saying is: if function A is marked no-sse,
> and it calls function B which is marked sse, than B will
> not be inlined into A if B contains any floating point
> operations (for example, a fp multiplication)?

Yes, if performance is important, otherwise let it use less efficient  
floating point stack. So this is a policy decision. I understand that  
you want inliner to not inline B into A in this case.

-
Devang



More information about the llvm-commits mailing list