[llvm-commits] RFC: R600/SI backend v2
Tom Stellard
tstellar at gmail.com
Wed Apr 25 12:30:52 PDT 2012
Hi,
Here is an updated version of the R600/Southern Islands backend for LLVM.
I've gone through and removed all of the code that wasn't being using by
the r600g and radeonsi Mesa[1] drivers. Hopefully, this will make it a
little easier to review. I know there are still some style violations,
but as I said before I'm saving those for last in case there is a lot
of code churn during the review. I've split the code up into 6 separate
patches:
1. Core backend code (TargetMachine, RegisterInfo, InstrInfo, etc)
2. Tablegen definitions and generated files
3. Function passes
4. Tests
5. Intrinsics added to include/llvm
6. Build system changes
Other than the build system and Intrinsic additions, these patches
contain no modifications of LLVM core code. The patches will follow in
git send-email format and can also be found in the r600-initial-review
branch here: http://cgit.freedesktop.org/~tstellar/llvm/
This backend combines some code from the AMDIL backend that was published
last December with code emitters for R600 (AMD HD2XXX-HD6XXX) and Southern
Islands (AMD HD7XXX) GPUs. The R600 code emitter emits bytecode that
is understood by the r600 gallium 3D/Compute driver in Mesa, and the
Southern Islands code emitter emits raw Southern Islands machine code,
but it is in the very early stages of development, so only a handful of
instructions are supported.
This backend currently lives upstream in the Mesa project, but I would
much prefer to have it in the LLVM project.
Looking forward to your comments.
Thanks,
Tom Stellard
[1] http://www.mesa3d.org/
More information about the llvm-commits
mailing list