[llvm-commits] PATCH: Add a few intrinsic definitions for r600

Bill Wendling wendling at apple.com
Wed Mar 21 00:36:44 PDT 2012


On Mar 20, 2012, at 2:54 PM, Tom Stellard wrote:

> On Tue, Mar 20, 2012 at 02:21:17PM -0700, Bill Wendling wrote:
>> Another option is to qualify a specific "intermediate" version of LLVM for your project. I.e., create a branch from top-of-tree that is stable for you (passes your tests) and then add patches. You can do this for each stable release of Mesa. In fact, you could take the official release of LLVM and back port the patches yourself. It's not entirely dissimilar to what some other projects do. :-)
> 
> Can you point me to some projects that do this?  I would be interested
> in seeing how they make it work.  We might be able to do this, though
> I'm not sure how we could get distros to distribute our custom version
> of LLVM along side the standard LLVM release.
> 
I don't think any of the projects are open for you to see. However, it's a fairly straight-forward process:

1) Create a branch from a known good version of trunk
2) Test the branch until the cows come home
3) Patch the branch with any fixes for test failures and those patches on the commits list which fix bugs R600 is liable to hit
4) Make that branch part of your R600 distro.

Step (4) is intentionally vague, because I don't know how you will ship this and how it will integrate with an existing LLVM on the system.

>>> Neither of these situations are very desirable.
>>> 
>> The unfortunate truth is that no matter which LLVM you use -- official releases, a theoretical "dot" release, a patched version of an official release, or trunk -- there will always be bugs that haven't been found yet. It's the nature of complex pieces of software.
> 
> I understand this, but my point was that if we do find a bug, I'd like
> to be able to fix it.
> 
*nods* And if it's a bug in LLVM or clang, we are highly interested in having that bug fixed as well. :)

>> 
>>> The r600 back-end is very tightly integrated with the rest of the Mesa's
>>> compute stack.  A single bug in the back-end could render the entire stack
>>> unusable, which is why it is important to be able to release a stable
>>> version of the back-end and a stable version of Mesa at the same time.
>>> 
>>> The bottom line is: If we make a stable release of Mesa we need to be
>>> able to fix all bugs that turn up, and I don't think this is possible
>>> with the r600 back-end in the LLVM source tree.
>>> 
>>> Is there any possibility that the LLVM project would start doing bug fix
>>> releases?  Has this ever been discussed in the past?
>>> 
>> As Anton mentioned, it takes resources to do a dot release -- both human and machine time. We just don't have enough of either to do this. However, we do release official versions of LLVM on a fairly regular basis; typically every 6 months.
> 
> Makes sense.
> 
>> 
>> -bw
>> 
>> 
> 
> Could I get either an ACK or NAK on this patch (and maybe this patch
> too: http://permalink.gmane.org/gmane.comp.compilers.clang.scm/48532),
> so I can start planning what to do next.
> 
Jim and Chandler commented on this. They are good gates for back-end code. If you can convince them that it's good to merge this in, then I won't have any objections. But as of right now, I'm dubious.

-bw




More information about the llvm-commits mailing list