[llvm-commits] dependence analysis

Preston Briggs preston.briggs at gmail.com
Thu Jul 26 14:33:36 PDT 2012


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.

Thanks,
Preston



More information about the llvm-commits mailing list