Utpal Bora via llvm-dev
2016-May-07 14:59 UTC
[llvm-dev] [GSoC 2016] Introduction - Polly as an Analysis pass in LLVM
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 [1]. We have a discussion on Polly-dev mailing list [2] 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&). Please feel free to post your comments and suggestions on this. [1] https://docs.google.com/document/d/1QyUzL3OOwJSI91lDqr7VsvqUsFyTY9FlpAwbGSipUtw/edit# [2] https://groups.google.com/forum/#!topic/polly-dev/DuRxNmKfEnM Regards, Utpal Bora Ph.D. Scholar Computer Science & Engineering IIT Hyderabad -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160507/4d4a421e/attachment.html>
Mehdi Amini via llvm-dev
2016-May-07 17:27 UTC
[llvm-dev] [GSoC 2016] Introduction - Polly as an Analysis pass in LLVM
> 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 [1]. > We have a discussion on Polly-dev mailing list [2] 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? Thanks, -- Mehdi> > Please feel free to post your comments and suggestions on this. > > [1] https://docs.google.com/document/d/1QyUzL3OOwJSI91lDqr7VsvqUsFyTY9FlpAwbGSipUtw/edit# <https://docs.google.com/document/d/1QyUzL3OOwJSI91lDqr7VsvqUsFyTY9FlpAwbGSipUtw/edit#> > [2] https://groups.google.com/forum/#!topic/polly-dev/DuRxNmKfEnM <https://groups.google.com/forum/#!topic/polly-dev/DuRxNmKfEnM> > > > Regards, > > Utpal Bora > Ph.D. Scholar > Computer Science & Engineering > IIT Hyderabad > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160507/1f4f1f54/attachment.html>
Johannes Doerfert via llvm-dev
2016-May-07 23:43 UTC
[llvm-dev] [GSoC 2016] Introduction - Polly as an Analysis pass in LLVM
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 [1]. > > We have a discussion on Polly-dev mailing list [2] 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 "TripCount". Something like tripCount(Loop &L) can return either a constant or a SCEV. I would prefer the latter. Cheers, Johannes -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: Digital signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160508/7351663f/attachment.sig>
Tobias Grosser via llvm-dev
2016-May-10 15:09 UTC
[llvm-dev] [GSoC 2016] Introduction - Polly as an Analysis pass in LLVM
On 05/07/2016 04:59 PM, Utpal Bora via llvm-dev 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 [1]. > We have a discussion on Polly-dev mailing list [2] 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&). > > Please feel free to post your comments and suggestions on this. > > [1] https://docs.google.com/document/d/1QyUzL3OOwJSI91lDqr7VsvqUsFyTY9FlpAwbGSipUtw/edit# > [2] https://groups.google.com/forum/#!topic/polly-dev/DuRxNmKfEnM > <https://groups.google.com/forum/#%21topic/polly-dev/DuRxNmKfEnM>Hi Utpal, please submit a patch for http://llvm.org/SummerOfCode/2016.html, in case you want to add further information about your project. Design improvements are also very welcome. This website is the GSoC student website. So you guys can make it as nice as possible. Vivek and Roman can probably help to review your patch and commit it upstream. Best, Tobias