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