[llvm-commits] [PATCH] Added TCE target to llvm-gcc

Mikael Lepistö mikael.lepisto at tut.fi
Thu Mar 26 07:01:45 PDT 2009


Duncan Sands wrote:
> Hi, are you planning to get this target into mainline gcc
> at some point?  
I don't think that it's possible since we generate new version of our 
backend for each processor configuration (with different instruction 
sets and registers) and load it as a plugin to our own llc replacement. 
This replacement also converts llvm bitcode to our native format.
> Why do you only emit bitcode - are you
> planning to implement an LLVM code generator for your
> target?

In short: We already have LLVM code generator, but it's quite different 
approach that usual llvm backends...

We do linking and optimizing on llvm IR (also linking static newlib to 
program). After we have fully linked bitcode we build code generation 
plugin which contains information about customizes resources of the 
processor. That plugin generates our native IR out of bitcode and use 
generated IR for scheduling program to a specific processor configuration.

So basically bitcode programs are universal programs, which can be 
converted to run on any different processor configuration. For more 
information on tce.cs.tut.fi page contains tutorials and videos about 
the system. There is also a masters thesis about to be released (in few 
months) which covers our compiler chain.

> Finally, does this break the llvm-gcc build if
> llvm-gcc is configured with LLVM support disabled?
>   
Looks like it compiled fine without special --target setting. However 
--target=tce-llvm without --enable-llvm failed. Patch has really small 
changes to configure system just for recognizing that new 
--target=tce-llvm target exists.
> Ciao,
>
> Duncan.
>   
Mikael



More information about the llvm-commits mailing list