<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I don't see any problems with pushing this as an experimental
    target.  It's definitely too much code for me to just read as a diff
    right now, but pushing this as an experimental target seems like a
    great way to get people to test builds on different hosts and help
    solidify a process for experimental backends.<br>
    <br>
    Then again, I have no say over this what-so-ever... :)<br>
    <br>
    <div class="moz-cite-prefix">On 08/31/2012 03:18 PM, Tom Stellard
      wrote:<br>
    </div>
    <blockquote
      cite="mid:20120831191817.GB17754@L7-CNU1252LKR-172027226155.amd.com"
      type="cite">
      <pre wrap="">Hi,

I've attached a patch with an updated version of the R600/SI backend.
This time I've squashed all the changes into a single patch and used a
format that is compatible with svn for easier testing/reviewing.

Since the last version, I've fixed some build errors caused by recent
tablegen changes, and I've also gone through and fixed all the
errors caused by setting InstrInfo.guessInstructionProperties = 0.

If you prefer git, this code can also be found in the r600-review-v8
branch here: <a class="moz-txt-link-freetext" href="http://cgit.freedesktop.org/~tstellar/llvm/">http://cgit.freedesktop.org/~tstellar/llvm/</a>

I'm still interested in getting this code into the main tree as an
experimental target, so I'd appreciate any feedback on whether or not
this backend is ready to be accepted as an experimental target.

Thanks,
Tom Stellard

On Mon, Aug 27, 2012 at 02:46:06PM +0000, Tom Stellard wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">
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] <a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-July/051929.html">http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-July/051929.html</a>
[2] <a class="moz-txt-link-freetext" href="http://www.mesa3d.org">http://www.mesa3d.org</a>
_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
      </blockquote>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Thanks,

Justin Holewinski</pre>
  </body>
</html>