[llvm-dev] [GSoC 2016] Introduction - Polly as an Analysis pass in LLVM
Johannes Doerfert via llvm-dev
llvm-dev at lists.llvm.org
Sat May 7 16:43:31 PDT 2016
On 05/07, Mehdi Amini wrote:
> > On May 7, 2016, at 7:59 AM, Utpal Bora via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> > Dear All,
> > I am glad to be part of GSoC 2016 with LLVM organization. I am a first year PhD student at IIT Hyderabad, India and my research area is compiler optimizations using polyhedral model.
> > My GSoC 2016 project is to implement Polly as an Analysis pass in LLVM .
> > We have a discussion on Polly-dev mailing list  on taking a better approach to implement this project. Based upon this discussion, I am planning to cover the following items in the first month of this GSoC.
> > 1: Decouple ScopInfo object from pass and create two passes. One region pass to preserve compatibility with existing Polly transformation passes, other will be a function pass to be used by PolyhedralInfo pass as mentioned below.
> > 2: Decouple DependenceInfo object from pass and create two passes. Same as above.
> > 3: Create the interface PolyhedralInfo, which will extract Memory Access wise dependence information from Polly and provide few simple interfaces like isParallel(), isVectorizable(), tripCount(Loop&).
> What is the difference between "isParallel" and "isVectorizable" for a loop?
> Also is tripCount() returning a literal or is it somehow symbolic?
In the beginning I would say isParallel() should return true if there
are no loop carried dependences, while isVectorizable(unsigned TripCount)
should return true if the loop carried dependencies are greater than
Something like tripCount(Loop &L) can return either a constant or a
SCEV. I would prefer the latter.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 213 bytes
Desc: Digital signature
More information about the llvm-dev