[llvm-commits] dependence analysis

Sebastian Pop spop at codeaurora.org
Wed Oct 10 13:13:03 PDT 2012


Hi Preston,

please go ahead and post the new patch.

I am also of the opinion that we should push this code in the svn
and post all new changes as separate patches: that will be easier
to review as incremental changes.

The code as it is looks good to me, and I guess that others have
also had a look at the code.

Thanks for your contribution to LLVM,
Sebastian

On Wed, Oct 10, 2012 at 2:06 PM, Preston Briggs
<preston.briggs at gmail.com> wrote:
> 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
>>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation



More information about the llvm-commits mailing list