[LLVMdev] Tablegen: How to define a Pattern with multiple result instructions
Tom Stellard
tom at stellard.net
Fri Aug 15 12:42:46 PDT 2014
On Fri, Aug 15, 2014 at 01:23:53PM -0400, kewuzhang wrote:
> Dear Tom,
>
> What is the advantage to use the “pseudo instruction” approach VS “custom lowering/DAGtoDAGSelection” VS “ Library function”?
>
It really depends on the instructions being lowered. If you are adding two
instructions where one has a chain and the other doesn't, it is much easier
to do it with pseudo instruction lowered using a custom inserter.
If you want both instruction to be glued together for the duration of
the program, then you will need to use a pseudo instruction and
expand it post-RA.
I've never tried to emit two unrelated instructions from a node with a single
result using DAGToDAGSelection, but I think it's theoretically possible
if you tied them together using glue.
-Tom
> Best
>
> Kevin
>
>
>
> On Aug 14, 2014, at 9:27 AM, Tom Stellard <tom at stellard.net> wrote:
>
> > On Thu, Aug 14, 2014 at 12:05:33AM -0700, Arsen Hakobyan wrote:
> >> Hi all,
> >>
> >> I would like to be sure that Tablegen still does not support completely
> >> separate multiple instruction generation, and the only way is to write
> >> costume code (may be in TargetISelDAGToDAG class) to get the needed result.
> >>
> >> Dear Tom, do you found other solution (using Tablegen tool) for this?
> >>
> >
> > I think the best way to do this is to use a pseudo instruction and then
> > expand it after instruction selection by using a custom inserter.
> >
> > -Tom
> >
> >> Thanks,
> >> Arsen
> >>
> >>
> >>
> >> --
> >> View this message in context: http://llvm.1065342.n5.nabble.com/Tablegen-How-to-define-a-Pattern-with-multiple-result-instructions-tp44115p71453.html
> >> Sent from the LLVM - Dev mailing list archive at Nabble.com.
> >> _______________________________________________
> >> LLVM Developers mailing list
> >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
More information about the llvm-dev
mailing list