[llvm-commits] [llvm] r58232 - in /llvm/trunk: lib/CodeGen/SelectionDAG/ test/CodeGen/Generic/ test/CodeGen/Mips/ test/CodeGen/X86/

Duncan Sands baldrick at free.fr
Tue Oct 28 02:34:56 PDT 2008


> >> Looks like ppc backend is generating __fixunstfsi now. I'll send  
> >> you a
> >> bc file.
...
>> What does llc with legalize-types disabled produce?

Interestingly enough, LegalizeDAG also produces a libcall for ppcf128
to s/uint, except for one special case that it intercepts in LegalizeOp
(see LegalizeDAG line 3767): ppcf128 to i32.  It expands this into an
inline code sequence.  Why just this one and no others?  My guess is
that this is a workaround for __fixunstfsi somehow not being available
during llvm-gcc bootstrap.  But maybe it simply isn't ever available
on the target platform (but the other libcalls are?).  If it isn't
ever available maybe the right solution is to set the libcall Name
to NULL in the libcall Names array, in order to indicate that.  Then
LegalizeTypes (and LegalizeDAG) can generate an inline code sequence
when they see that the libcall name is NULL.

Ciao,

Duncan.



More information about the llvm-commits mailing list