A Very Early Gallium3D TGSI Back-End For LLVM

Written by Michael Larabel in Mesa on 22 April 2013 at 11:57 AM EDT. Add A Comment
MESA
Published this weekend was a very primitive back-end for LLVM that generates TGSI, the standard intermediate representation (IR) used by Mesa's Gallium3D drivers.

Earlier this month I wrote about the proposal of Francisco Jerez to develop a TGSI back-end for LLVM as part of this year's Google Summer of Code. Jerez has already done a lot for Nouveau and to Gallium3D OpenCL support while now as an independent student developer he wants to make a TGSI LLVM back-end so that the compiler infrastructure can generate TGSI instructions that in theory could be interpreted by any of the Gallium3D graphics drivers.

This would be particularly beneficial for some OpenCL and other general purpose programming for the Nouveau driver with NVIDIA hardware. On the AMD Radeon side there is already the "R600" GPU LLVM back-end that can generate AMD GPU specific instructions from LLVM bitcode.

Francisco didn't receive any feedback from his GSoC LLVM proposal earlier this month, but he already prototyped some code. With this Git commit to his personal LLVM repository on GitHub, Francisco Jerez has developed a very early TGSI back-end for LLVM. Right now this new back-end is just over 2,500 lines of new code.

He's also bumped his mailing list thread in hopes of spurring a discussion about this possible summer project. He's also looking at having AMD's Tom Stellard be his GSoC mentor for the summer project.

About the current state of his TGSI back-end, "It's able to generate code -- though only in assembly form and with many loose ends still."
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week