[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