[LLVMdev] Advice

Neale Ferguson neale at sinenomine.net
Fri Apr 10 13:56:36 PDT 2009


I'm going through all the LLVM doc especially the "Writing an LLVM Compiler
Backend" material. I'm sure to be bugging the list with questions so I'd
like to start the process with the following request: System z uses
instructions that vary from 2 to 6 bytes in length. The opcode can be 1 byte
(always in the 1st byte) or 2 bytes (either the first two bytes or the 1st
byte and the 6th byte). The IBM principles of operation manual, which is the
canonical source of all things System z, defines various instruction formats
that describe the exact layout of the instructions (e.g. RR, RI, RS, SS
...). Would creating a class for each of these instruction formats be the
best way to structure things? I did something similar for Mono by creating C
structures that mapped each of the formats.

I'm wondering if any of the currently supported architectures have formats
as "bizarre" as System z which I can use as a reference.

Neale





More information about the llvm-dev mailing list