[llvm-commits] dependence analysis

Evan Cheng evan.cheng at apple.com
Fri Jul 27 17:06:27 PDT 2012


On Jul 26, 2012, at 2:33 PM, Preston Briggs <preston.briggs at gmail.com> wrote:

> On Thu, Jul 26, 2012 at 2:26 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>> 
>> On Thu, 26 Jul 2012 12:28:43 -0700
>> Preston Briggs <preston.briggs at gmail.com> wrote:
>> 
>>> I've written a dependence analyzer for LLVM. It's a fairly complete
>>> implementation of the paper
>> 
>> Great!
>> 
>>> 
>>> Practical Dependence Testing
>>> Gina Goff, Ken Kennedy, and Chau-Wen Tseng
>>> PLDI 1991
>>> 
>>> 
>>> It lacks an MIV 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.
>> 
>> Sounds good.
>> 
>>> 
>>> 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.
>>> 
>>> How do I go about getting it ready for check in?
>> 
>> You'll need to send a patch to this list for review. Does it have test
>> cases?
> 
> It's currently 2 files, DependenceAnalysis.h and DependenceAnalysis.cpp
> I'm not sure how to organize these into a patch list.
> 
> I wrote a test driver that makes dependence queries along with 100+
> tests that exercise most everything.
> Again, I'm not sure how to organize all this into a format LLVM can use.

Can they be made into unit tests? The first step is to send the 2 files for review. It would be worthwhile to include a few of these tests so folks can get a better idea what they look like and how the analysis can be used. But I don't expect anyone will look through all of them right away.

Evan

> 
> Thanks,
> Preston
> _______________________________________________
> 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