[llvm-dev] [GSoC 2016] Polly as an Analysis pass - Midterm report
Utpal Bora via llvm-dev
llvm-dev at lists.llvm.org
Wed Jun 22 18:33:03 PDT 2016
Hello Tobias,
Please see my comments below.
On Wed, Jun 22, 2016 at 10:45 PM, Tobias Grosser <tobias at grosser.es> wrote:
> On 06/20/2016 02:00 PM, Utpal Bora wrote:
> > Dear Community,
> >
> >
> > I would like to summarize my work till date for GSoC 2016.
>
> Hi Utpal,
>
> thank you for this update.
>
> > Till the current phase of my project, I have mostly focused on
> > developing the necessary infrastructure to use analysis results from
> > Polly in LLVM.
> >
> >
> > Initial plan as mentioned in the proposal:
> >
> > For the first month:-
> >
> > 1.
> >
> > Decouple ScopInfo pass from Polly’s pass chain and provide
> > capability to create SCoP(Static Control Parts) objects from
> > arbitrary SESE regions.
> >
> > 2.
> >
> > Implement new passes ScopInfoWrapperPass and
> > DependenceInfoWrapperPass as Function Passes.
> >
> > 3.
> >
> > Provide an interface to Polly’s dependence analysis which can be
> > directly queried from LLVM transformation passes such as Loop
> > Vectorizer.
>
> This seems to have been gone very nicely. I see that some of the patches
> are still in the review process. Could you elaborate on their status and
> what is still needed to get them committed.
>
> Patches D20912 and D20962 are ready for commit.
For patches D21105 and D21486 I am working on review comments and will be
ready for commit by this weekend.
>
> > For the next phase:-
> >
> > 4.
> >
> > Cache the dependences computed by Polly for a given SCoP and provide
> > methods to invalidate the analysis results when the SCoP changes.
> >
> > 5.
> >
> > Demonstrate the power and usefulness of the interface by integrating
> > it with Loop Vectorizer or other clients, for example, client that
> > requires loop trip count, etc.
> >
> >
> > Current Status:
> >
> > 1.
> >
> > Decoupling SCoP object creation from pass logic is complete and has
> > been addressed under D20770 <http://reviews.llvm.org/D20770>, D20831
> > <http://reviews.llvm.org/D20831>and D20912
> > <http://reviews.llvm.org/D20912>review items. Patches have been
> > accepted and committed.
> >
> > 2.
> >
> > Implemented two new function passes in Polly namely
> > ScopInfoWrapperPass (D20962 <http://reviews.llvm.org/D20962>) and
> > DependenceInfoWrapperPass (D21105 <http://reviews.llvm.org/D21105>).
> > These are required to bypass the RegionPassManager.
> >
> > 1.
> >
> > ScopInfoWrapperPass addresses creating SCoP objects for the
> > whole function.
> >
> > 2.
> >
> > DependenceInfoWrapperPass addresses constructing polyhedral
> > dependences for all the SCoP objects of a function.
> >
> > 3.
> >
> > These patches are currently under review and I am incorporating
> > changes as suggested by the Polly community.
> >
> > 4.
> >
> > Implemented first version of an interface to Polly's analysis
> > passes- PolyhedralInfo pass (D21486
> > <http://reviews.llvm.org/D21486>). Implemented isParallel(Loop *)
> > interface to check parallelism of a loop.
> >
> >
> > Pending Work:
> >
> > 1.
> >
> > Complete the interface - PolyhederalInfo pass. Currently I am
> > working on providing more interfaces to check whether a loop is
> > vectorizable or not and to get loop trip count.
> >
> > *
> >
> > isVectorizable(Loop *L, *MinDepDistance)
> >
> > *
> >
> > getLoopTripCount(Loop *)
> >
> > 2.
> >
> > Work on caching Polly's analysis results properly and provide
> > methods to invalidate the analysis results when the SCoP changes.
> >
> > 3.
> >
> > Demonstrate the power and usefulness of the interface by integrating
> > it with Loop Vectorizer.
> >
> >
> > Below are the list of patches I sent during this period:-
> >
> > D20770 <http://reviews.llvm.org/D20770>, D20831
> > <http://reviews.llvm.org/D20831>, D20912
> > <http://reviews.llvm.org/D20912>, D20962
> > <http://reviews.llvm.org/D20962>, D21105
> > <http://reviews.llvm.org/D21105>, D21486 <http://reviews.llvm.org/D21486
> >
> >
> >
> > I thank Johannes, Tobias, Michael, Ether and others for all the
> > support/feedback/advises. Especially, Johannes for the time spent in
> > hangouts, which we have been having two times a week.
>
> Very nice, indeed and thanks Johannes for taking the time for such close
> mentoring. To make sure we are all up-to-date it would be great if you
> could send brief meeting notes that summarize your hangout discussions.
>
> Ok, I will send the notes form now on. Some of the notes are maintained
here
<https://drive.google.com/folderview?id=0B6y_K1BShACaZHVuTHF5ZWdmeUE&usp=sharing>
.
> Best,
> Tobias
>
Thank you.
Regards,
Utpal Bora
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160623/c5008044/attachment.html>
More information about the llvm-dev
mailing list