[llvm-commits] dependence analysis

Preston Briggs preston.briggs at gmail.com
Wed Oct 10 12:06:09 PDT 2012


I've got a new version of the dependence-analysis code ready to go
(includes another MIV test based on Banerjee's inequalities).

Before I release it, I'd like to incorporate any outstanding comments or
changes from my last version. If anyone is sitting on a partial review,
please let me know and I can hold off until you're ready.

Thank,
Preston

On Mon, Sep 24, 2012 at 1:32 PM, Preston Briggs <preston.briggs at gmail.com>wrote:

> This is an updated version of the dependence-analysis patch, reflecting
> feedback from the walkthrough at Qualcomm a couple of weeks ago. There's
> more documentation, better handling of SCEVs, many corrections, better
> handling of symbolics by the GCD test, more special cases caught by the
> WeakCrossing test, more test cases, etc.
>
> It's a fairly complete implementation of the paper
>
> Practical Dependence Testing
> Gina Goff, Ken Kennedy, and Chau-Wen Tseng
> PLDI 1991
>
>
> It lacks the fancier MIV tests (it has only the RDIV test, the Delta test,
> and the GCD test) and cannot yet propagate constraints between coupled RDIV
> subscripts (discussed in Section 5.3.2 of the paper). I expect to add these
> in the future.
>
>
> It's organized as a FunctionPass with a single entry point that supports
> testing for dependence between two instructions in a function. If there's
> no dependence, it returns null. If there's a dependence, it returns a
> pointer to a Dependence which can be queried about details (what kind of
> dependence, is it loop independent, direction and distance vector entries,
> etc). I haven't included every imaginable feature, but there's a good
> selection that should be adequate for supporting many loop transformations.
> Of course, it can be extended as necessary.
>
> Included in the patch file are many test cases, commented with C code
> showing the loops and array references.
>
> Thanks,
> Preston
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121010/c8003f77/attachment.html>


More information about the llvm-commits mailing list