A Very Early Gallium3D TGSI Back-End For LLVM
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."
Latest Articles & Reviews
Latest Linux News
Most Viewed News This Week