[llvm-commits] RFC: Add R600/SI backend as an experimental target
Villmow, Micah
Micah.Villmow at amd.com
Wed Aug 29 09:36:17 PDT 2012
These look find to me.
> -----Original Message-----
> From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-
> bounces at cs.uiuc.edu] On Behalf Of Tom Stellard
> Sent: Monday, August 27, 2012 7:46 AM
> To: llvm-commits at cs.uiuc.edu
> Subject: [llvm-commits] RFC: Add R600/SI backend as an experimental
> target
>
>
> Hi,
>
> Here is an updated version of the R600/SI backend that I would like to
> be considered for inclusion in the LLVM main tree as an experimental[1]
> target.
>
> Changes since the last version include:
> + Added AsmPrinter
> + Converted Tests to use AsmPrinter
> + Replaced CodeEmitters with MCCodeEmitters
> + Removed all uses of MachineOperands flags
> + Enabled the If Conversion pass on R600
> + Various clean ups and bug fixes.
>
> For more information about the backend, here are some frequently asked
> questions:
>
> ++ What is the R600/SI backend?
>
> The R600/SI backend is a code generator for AMD GPUs and supports
> the HD2XXX-HD7XXX GPU models. It is currently being used by the
> Open Source graphics drivers for AMD GPUs in the Mesa[2] project as
> a compiler backend for graphics and compute shaders.
>
> ++ How will the R600/SI backend benefit LLVM?
>
> The R600/SI backend is a native code generator for GPUs. There are
> very few completely Open Source compiler backends for GPUs, so
> adding this backend to LLVM will give the project a leg up over other
> compiler projects and help attract the attention of researchers and
> new developers.
>
> ++ Why do the R600/SI developers want this code in the main LLVM tree?
>
> The main reason for this is to reduce the maintenance burden on
> developers so they have more time to spend improving the backend and
> core LLVM code. Supporting multiple versions of LLVM in the Mesa
> tree will require a lot of ugly ifdefs, and it will be very difficult
> to take advantage of new features in Tablegen. Also, changes to the
> backend will require testing against at least two version of LLVM.
> Moving the backend code into the main LLVM tree will allow the
> backend to evolve with the rest of the project and remove these
> extra burdens from developers.
>
> ++ What is the planned development model for the R600/SI backend?
>
> If accepted into the main tree, all development on the R600/SI will
> be based
> on the public LLVM tree. The backend has been Open Source from the
> beginning
> and there are no private internal trees. All code developed for this
> backend
> is pushed to the public tree as soon as it is ready.
>
> Looking forward to you comments.
>
> Thanks,
> Tom Stellard
>
> [1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-July/051929.html
> [2] http://www.mesa3d.org
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list