Whitney T Tsang via llvm-dev
2021-Mar-10 14:32 UTC
[llvm-dev] [GSoC 2021] Utilize LoopNest Pass
Sure, in this project, we plan to utilize the LoopNest pass in some existing passes. As an example, here is one of the patches to transform the loop interchange pass: https://reviews.llvm.org/D97847. On top of doing the code changes, we want to understand what are the pros and cons of the change. We can do that by collecting some data, e.g. compile time. There are two loop unroller, LoopFullUnrollPass and LoopUnrollPass. The LoopFullUnrollPass is not a good candidate for the change, as it is a loop pass and it is being used as a loop pass. It is written to be traverse from inner to outer loop, with other loop transformations in between in the loop pipeline. The LoopUnrollPass could be a candidate, but the LoopUnrollAndJamPass can be an easier to understand candidate, as unroll and jam transformation naturally operate on more than one loop (LoopNest). Regards, Whitney Tsang From: uint256_t <konndennsa at gmail.com> To: Cc: llvm-dev <llvm-dev at lists.llvm.org>, etiotto at ca.ibm.com, whitneyt at ca.ibm.com Date: 2021/03/10 07:52 AM Subject: [EXTERNAL] Re: [llvm-dev] [GSoC 2021] Utilize LoopNest Pass ZjQcmQRYFpfptBannerEnd I'm glad to get in touch with you two. I'm planning to utilize LoopNest pass for some passes like loop unrolling. Could you tell me more about this project if any? 2021年3月9日(火) 20:47 Whitney Tsang <whitney.uwaterloo at gmail.com>: + Whitney, Ettore On Tue, Mar 9, 2021, 3:00 AM uint256_t via llvm-dev < llvm-dev at lists.llvm.org> wrote: Hello, I'm thinking of participating in GSoC at LLVM. I've already talked about ideas with some project mentors but a newly added project idea "Utilize LoopNest Pass" attracted me. I want to get in touch with its mentors (Whitney Tsang, Ettore Tiotto), whose email I couldn't find out. Sincerely, Toshiki Maekawa _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org https://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/20210310/480a5ec2/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: graycol.gif Type: image/gif Size: 105 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210310/480a5ec2/attachment.gif>
Thank you for your advice. As you mentioned, LoopUnrollAndJam seems to be a good candidate. I'm going to find another analyse/transform pass suitable for loop nest pass. Best, Toshiki Maekawa 2021年3月10日(水) 23:32 Whitney T Tsang <whitneyt at ca.ibm.com>:> Sure, in this project, we plan to utilize the LoopNest pass in some > existing passes. > As an example, here is one of the patches to transform the loop > interchange pass: https://reviews.llvm.org/D97847. > On top of doing the code changes, we want to understand what are the pros > and cons of the change. > We can do that by collecting some data, e.g. compile time. > > There are two loop unroller, LoopFullUnrollPass and LoopUnrollPass. > The LoopFullUnrollPass is not a good candidate for the change, as it is a > loop pass and it is being used as a loop pass. > It is written to be traverse from inner to outer loop, with other loop > transformations in between in the loop pipeline. > The LoopUnrollPass could be a candidate, but the LoopUnrollAndJamPass can > be an easier to understand candidate, > as unroll and jam transformation naturally operate on more than one loop > (LoopNest). > > Regards, > Whitney Tsang > > [image: Inactive hide details for uint256_t ---2021/03/10 07:52:17 > AM---I'm glad to get in touch with you two. I'm planning to utilize]uint256_t > ---2021/03/10 07:52:17 AM---I'm glad to get in touch with you two. I'm > planning to utilize LoopNest pass for some passes like lo > > From: uint256_t <konndennsa at gmail.com> > To: > Cc: llvm-dev <llvm-dev at lists.llvm.org>, etiotto at ca.ibm.com, > whitneyt at ca.ibm.com > Date: 2021/03/10 07:52 AM > Subject: [EXTERNAL] Re: [llvm-dev] [GSoC 2021] Utilize LoopNest Pass > ------------------------------ > > > ZjQcmQRYFpfptBannerEnd > I'm glad to get in touch with you two. > I'm planning to utilize LoopNest pass for some passes like loop unrolling. > Could you tell me more about this project if any? > > 2021年3月9日(火) 20:47 Whitney Tsang <*whitney.uwaterloo at gmail.com* > <whitney.uwaterloo at gmail.com>>: > > + Whitney, Ettore > > On Tue, Mar 9, 2021, 3:00 AM uint256_t via llvm-dev < > *llvm-dev at lists.llvm.org* <llvm-dev at lists.llvm.org>> wrote: > Hello, > > I'm thinking of participating in GSoC at LLVM. > I've already talked about ideas with some project mentors but a newly > added project idea "Utilize LoopNest Pass" attracted me. > I want to get in touch with its mentors (Whitney Tsang, Ettore > Tiotto), whose email I couldn't find out. > > Sincerely, > Toshiki Maekawa > _______________________________________________ > LLVM Developers mailing list > *llvm-dev at lists.llvm.org* <llvm-dev at lists.llvm.org> > *https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev* > <https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Ddev&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=p0DGcdtx8-l1bvwJTLSk1zBTXpb78Y1slqHKTsTpRTE&m=xZta8ysMk2YLuaeN6hu48YbOcAibTj8EHetJ7EUKsC8&s=HbDn2cNobhWts-Cp8E5W7XgWSCD6ebFSWkwl_zDmusk&e=> > > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210312/31a9a59f/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: graycol.gif Type: image/gif Size: 105 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210312/31a9a59f/attachment.gif>