Indirect Addressing Merged In LLVM R600 Back-End

Posted by Michael Larabel on February 07, 2013

Merged into the mainline LLVM repository on Wednesday was support for indirect addressing within AMD's R600 GPU back-end.

It was back in January that the R600 GPU back-end picked up LLVM addressing support -- a missing capability of the LLVM back-end since its premiere in late 2011. After going through four code revisions, the indirect addressing support was finally ready for being merged into the mainline LLVM code-base and will be found in the LLVM 3.3 release later in the year where the R600 GPU back-end will officially appear for the first time.

This LLVM back-end is required for the OpenCL support within the Radeon Gallium3D graphics driver for Radeon HD 5000 series and newer graphics cards. The back-end can also optionally be used as the shader compiler for the Gallium3D driver, though that's not AMD's primary emphasis with its development. The Radeon Gallium3D drivers in Mesa don't yet support indirect addressing translations during the TGSI to LLVM pass so right now this doesn't work for graphics nor is it really optimized for that. Indirect addressing allows for a virtual address to be passed that then ends up mapping to the actual address, which is more important for compute scenarios.

This indirect addressing support doesn't work right now for the Radeon HD 7000 (or HD 8000) series but only the HD 5000/6000 series.

The support to LLVM for the R600 indirect addressing can be seen with this commit. The support was added by Tom Stellard at AMD.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. D Language Still Showing Promise, Advancements
  2. Planetary Annihilation Released For Linux Gamers
  3. Gentoo Starts Work On KDE-Wayland Support
  4. NVIDIA To License Its Kepler GPU Technology
  5. KDE's KWin Made Lots Of Progress In 4.11
  6. Ubuntu Announces Carrier Advisory Group
  7. Qt 5.1 Release Candidate 1 Has Arrived
  8. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  9. Subversion 1.8 Presents New Features
  10. LLVM 3.3 Officially Released
  11. LLVM/Clang Now Uses Loop Vectorizer At New Levels
Latest Forum Talk
  1. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  2. Planetary Annihilation Plans To Come To Linux
  3. Mir Still Causing Concerns By Ubuntu Derivatives
  4. KDE's KWin Made Lots Of Progress In 4.11
  5. I got robbed at gunpoint today....
  6. NVIDIA To License Its Kepler GPU Technology
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite