[LLVMdev] vliw compatability

Pekka Jääskeläinen pekka.jaaskelainen at tut.fi
Thu Mar 18 00:56:33 PDT 2010


Hi,

On 03/17/2010 07:47 PM, Onalenna Junior Makhura wrote:
> I need to get llvm to support vliw architecture. Can you please point me
> in the right direction. we have managed to get it to compile into simple
> assemble and now need it to be able to schedule the instructions in
> parrallel.

We have a customizable exposed datapath VLIW (called Transport Triggered 
Architecture or TTA) that uses LLVM as the compiler
front+middle+some parts of the backend. However, our backend is not
probably the best example on how to implement a statically scheduled
target backend using LLVM.

The instruction scheduler predates our use of LLVM (we used to use
an old gcc previously) so we have a fully custom code instruction
scheduler with retargetable resource tables, etc. to support our
long instruction word target that has user-defined datapath resources.

Anyways, what we do here is after register allocation and instruction
selection the LLVM MachineInstruction representation is converted to
a representation of our own (based on CFG+DDG) which is then optimized
using some TTA-specific optimizations and scheduled to the given
TTA architecture using our retargetable resource table implementation.

The project's web page is at http://tce.cs.tut.fi, there's also an
open source (MIT licensed) version available for download if you
want to poke at it. In http://tce.cs.tut.fi/index.php/publications/tce
there are a couple of master's theses written about the toolset
which might be of help.

Best regards,
-- 
Pekka Jääskeläinen,
a researcher in the TCE project



More information about the llvm-dev mailing list