[llvm-dev] [GlobalISel] Extended inline assembler support

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Tue Apr 7 08:21:30 PDT 2020


On Mon, Apr 6, 2020 at 3:12 AM Konstantin Schwarz via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> For lowering the target specific constraints, we'll have to add a new
> API that creates (G)MIR during IR translation.
> Personally I would prefer to have an InlineAsmLowering class, similar to
> the CallLowering class, which implements the generic algorithm and from
> which targets can inherit.
> Most of the implementation in [0] could then be moved to that class.
>
> However, this would add yet another class that needs to be wired up in
> the subtarget class. Is this something we would like to avoid?
> Is there a better place where target specific GlobalISel hooks should be
> added?
>

+10 for a new inline asm lowering class that targets extend. The
FooISelLowering.cpp files are super monolithic, and X86ISelLowering.cpp can
take more than a minute to compile. The *CallLowering classes were a much
better design, and I envy them as someone who often works with X86
SDISel call lowering.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200407/f8319050/attachment.html>


More information about the llvm-dev mailing list