- based on the Keiko virtual machine for IR
- implements an ARM backend
- based on the PPC written by Mike Spivey for the compilers course at University of Oxford
- you need ocamlbuild with ocamllex and ocamllyacc
- you need the ounit library for tests
- you can see examples in the
examplesfolder - command line options
ppc (-d <level>) (-O) (-O2) <file> - run
make testto run the tests (currently inexistent)
- allow in, out registers to be specified at each instructions instead of when declared (i.e. map from vreg to list of pregs); maybe not needed as a register is used twice only in the case of DEFTMP combined with USETEMP, but then we can generate optional moves
- allow to specify two vregs to be allocated to the same preg; example: add dest, src <=> dest = dest + src <=> out = in0; possible solution: append optional move instruction