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@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to