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

Duncan Sands baldrick at free.fr
Fri Sep 26 19:36:31 PDT 2008


Hi Devang,

> >> If XYZ calls S and NS then once again, XYZ's notes win.
> >
> > And could result in a huge performance loss.  And it is a loss:
> > it was ok to run S using sse instructions (that's why the
> > function was marked "sse"!), but now sse isn't being used due
> > to inlining...
> 
> ... this happens only if because XYZ is marked as x86.no-sse. In which  
> case, it is not a performance loss at all.

I don't understand what you are saying here.  Suppose XYZ is no-sse.
It calls S which is marked sse and does a lot of floating point
computation (but doesn't use sse intrinsics).  If I understand you
right, the inliner can inline S into XYZ.  This results in all these
floating point computations being done as "no-sse", i.e. using the
good 'ol x86 floating point stack rather than the much more efficient
sse registers...

Ciao,

Duncan.



More information about the llvm-commits mailing list