[LLVMdev] Tilera LLVM backend

JUHASZ David juhda at inf.elte.hu
Fri Sep 7 01:04:21 PDT 2012

Hi Tom,

On 09/06/2012 05:32 PM, Tom Stellard wrote:
> On Wed, Sep 05, 2012 at 07:48:48PM +0200, JUHASZ David wrote:
>> Hi,
>> I would like to inform the community that I'm releasing the
>> backend for tile64 I developed in the past several months. It can
>> be downloaded from
>> http://pnyf.inf.elte.hu/juhda/projects/tilera/
>> The version for LLVM 3.1 is a minimalist functioning
>> implementation. Now I am working on utilizing the VLIW packetizer
>> of LLVM, and other improvements are planned for the future.
>> I would be pleased to answer your comments and questions about the
>>  backend both via this mailing list or in private message. Bug
>> reports are also very welcomed. :-)
> Hi David,
> I took a quick look at this, and it looks pretty good.  I'm also
> working on a VLIW target called R600[1] for AMD GPUs, so I'm
> interested in the VLIW packetizer as well.

I looked into R600 ISA and bundling microcodes into instructions or
instructions into clauses seem to me more complicated than something the
current DFAPacketizer could handle on its own. But you should check that
out, I may be wrong at this point. However, I had to patch class
VLIWPacketizerList to perform extra checking in order to ensure making
valid bundles. Unfortunately, the VLIW scheduler uses DFAPacketizer, so
those checking should be integrated into DFAPacketizer rather than
VLIWPacketizerList. I will think over the problem when I have some time
and might come up with a solution. Now I just wondered if we could work
together on this in case you should run into the current limits of

> A few questions / comments:
> 1. You should look into upgrading your AsmPrinter to use the MC
> layer. It has a lot of really nice features, and if you are planning
> to do a code emitter you will want to use it, since the old style
> code emitter may be deprecated at some point.

Thanks for the information, I will look into it.

> 2. Are you planning to add a code emitter?

It's only a matter of time :-) But frankly, instruction formats of
Tilera are a little scary...

> 3. Is this something you'd eventually like to get upstream into the
> main LLVM tree?

It started as my master's thesis, but now it seems to be grown beyond
that, so the development of the backend hopefully will continue. If
there is interest from the community, it would be great to get upstream! :-)


> [1]
> http://cgit.freedesktop.org/~tstellar/llvm/tree/lib/Target/AMDGPU?h=r600-review-v8
>> Best regards, David _______________________________________________
>> LLVM Developers mailing list LLVMdev at cs.uiuc.edu
>> http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the llvm-dev mailing list