[llvm-dev] Musings on the TableGen -emit-dag-isel backend

Craig Topper via llvm-dev llvm-dev at lists.llvm.org
Fri Nov 13 07:44:50 PST 2020


I believe the code in SelectionDAGISel.cpp that consumes the table caches
the outer SwitchOpcode in a map.

On Fri, Nov 13, 2020 at 6:55 AM Paul C. Anagnostopoulos via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Would it make sense for TableGen to generate the outer OPC_SwitchOpcode
> offset table?
>
>
> At 11/13/2020 07:53 AM, Nicolai Hähnle wrote:
> >That said, if we are seriously thinking about the performance of the byte
> code, perhaps some of these opcodes should be reconsidered at a higher
> level anyway.
> >
> >For example: The overall bytecode always begins with an OPC_SwitchOpcode
> implemented as a linear list of cases, often hundreds of them (depending on
> the target). A binary search over a jump table would be *much* better for
> those.
> >
> >Cheers,
> >Nicolai
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-- 
~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201113/f8cc42e0/attachment.html>


More information about the llvm-dev mailing list