I understand that but falling back makes the compilation slower. I'm wondering what could be done to remove this restriction about fast-isel not being able to handle non legal types. ________________________________________ From: Anton Korobeynikov [anton at korobeynikov.info] Sent: Sunday, August 31, 2014 12:55 AM To: Reed Kotler Cc: LLVMdev at cs.uiuc.edu Subject: Re: [LLVMdev] lowering and non legal types in fast-isel Fastisel should fallback to usual selector in the cases it cannot handle. So, for illegal types as well. On Sun, Aug 31, 2014 at 1:42 AM, reed kotler <rkotler at mips.com> wrote:> Fast-isel is not equipped in general to deal with non legal types. > > It would seem that an llvm assembler pass run after clang but before llvm > could do the lowering though. > > Any thoughts? > > Reed > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University
Eric Christopher
2014-Sep-09 20:49 UTC
[LLVMdev] lowering and non legal types in fast-isel
You can do everything from legalize it yourself, or just add code to select it and legalize it in your backend during instruction selection. fast-isel now has support for completely avoiding the target independent version of the code. -eric On Sun, Aug 31, 2014 at 10:41 AM, Reed Kotler <Reed.Kotler at imgtec.com> wrote:> I understand that but falling back makes the compilation slower. > > I'm wondering what could be done to remove this restriction about > fast-isel not being able to > handle non legal types. > > > ________________________________________ > From: Anton Korobeynikov [anton at korobeynikov.info] > Sent: Sunday, August 31, 2014 12:55 AM > To: Reed Kotler > Cc: LLVMdev at cs.uiuc.edu > Subject: Re: [LLVMdev] lowering and non legal types in fast-isel > > Fastisel should fallback to usual selector in the cases it cannot > handle. So, for illegal types as well. > > On Sun, Aug 31, 2014 at 1:42 AM, reed kotler <rkotler at mips.com> wrote: > > Fast-isel is not equipped in general to deal with non legal types. > > > > It would seem that an llvm assembler pass run after clang but before > llvm > > could do the lowering though. > > > > Any thoughts? > > > > Reed > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > -- > With best regards, Anton Korobeynikov > Faculty of Mathematics and Mechanics, Saint Petersburg State University > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140909/492934c6/attachment.html>
How would you return a pair of registers then? For example, If I lower 64 bit integer and materialize a constant, i need to return a pair of 32 registers. On 09/09/2014 01:49 PM, Eric Christopher wrote:> You can do everything from legalize it yourself, or just add code to > select it and legalize it in your backend during instruction > selection. fast-isel now has support for completely avoiding the > target independent version of the code. > > -eric > > On Sun, Aug 31, 2014 at 10:41 AM, Reed Kotler <Reed.Kotler at imgtec.com > <mailto:Reed.Kotler at imgtec.com>> wrote: > > I understand that but falling back makes the compilation slower. > > I'm wondering what could be done to remove this restriction about > fast-isel not being able to > handle non legal types. > > > ________________________________________ > From: Anton Korobeynikov [anton at korobeynikov.info > <mailto:anton at korobeynikov.info>] > Sent: Sunday, August 31, 2014 12:55 AM > To: Reed Kotler > Cc: LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> > Subject: Re: [LLVMdev] lowering and non legal types in fast-isel > > Fastisel should fallback to usual selector in the cases it cannot > handle. So, for illegal types as well. > > On Sun, Aug 31, 2014 at 1:42 AM, reed kotler <rkotler at mips.com > <mailto:rkotler at mips.com>> wrote: > > Fast-isel is not equipped in general to deal with non legal types. > > > > It would seem that an llvm assembler pass run after clang but > before llvm > > could do the lowering though. > > > > Any thoughts? > > > > Reed > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> > http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > -- > With best regards, Anton Korobeynikov > Faculty of Mathematics and Mechanics, Saint Petersburg State > University > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> > http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140909/86f51b8d/attachment.html>