[Mono-dev] ir instructions.

Zoltan Varga vargaz at gmail.com
Mon Feb 22 21:36:09 EST 2010


Hi,

LLVM's tablegen is designed for exactly this purpose, to reduce repetition.
It doesn't
generate code in a general way, it has plugins which take the information
from the .td files and generate code in any format they like, so it could be
used for generating our cpu-<X>.h
files for example, the same file, not some bloated version of it. Of course,
using LLVM's
tablegen would add a dependency, which is not desirable, but we could write
our own parser
which reads the same syntax, or a subset of it.

                             Zoltan

>
> The last is to reduce the amount of repetition between instructions
> definitions, it has to be very
> template oriented and support customization of the result. For example, I
> want to define a single
> template for binary SIMD ops that produce reg_reg, reg_membase,
> reg_memindex variants, which
> don't have side effects and, finally, can be easily instantiated for the
> many vector elements.
>
> This is asking for a lot. But it would simplify the JIT a lot and make it
> produce better code easier.
>
> Rodrigo
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20100223/0aaad83e/attachment-0001.html 


More information about the Mono-devel-list mailing list