[LLVMdev] JVM Backend

Duncan Sands baldrick at free.fr
Sun Nov 29 02:06:18 PST 2009


Hi David,

> No, structs are supported. The only unsupported types at the moment
> (as far as I am aware) are things like i31 and f80.

for funky sized integers, the most important operations to support are
loads and stores, shifts and logical operations (and, or, xor).  These
are the ones that the optimizers like to introduce most.  The logical
operations are straightforward.  Loads and stores of iN are equivalent
to using memcpy of (N+7)/8 bytes from memory to wherever you are keeping
the value (for a load), or the reverse for a store, so that's pretty easy
as well [this assumes that you set things up right so that endianness is
the same in memory and in "registers"].  Shifts are the most complicated,
but still pretty simple.

Ciao,

Duncan.



More information about the llvm-dev mailing list