[llvm-dev] Loop Opt WG Meeting Minutes for July 17, 2019

Min-Yih Hsu via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 23 19:53:42 PDT 2019


Hi Bardia,

Thanks for pointing out. At the time I was writing the article, I didn’t have any concrete examples to prove this point. I’ve only read the implementation of LoopRotation.
But after some detailed looks in, I found that the code do try to maintain this property by splitting critical edges at the very end.
I will modify my survey.

Thanks again.
- Min

> On Jul 22, 2019, at 10:57 AM, Bardia Mahjour <bmahjour at ca.ibm.com> wrote:
> 
> Hi Min,
> 
> Thanks for sharing your findings with us. 
> 
> Regarding loop rotation breaking the "exit block predecessor requirement", do you have specific examples of that? In the tests I've tried, I see a BB with the "crit_edge" suffix that acts as the exit block, while the loop guard branches to the successor of the "crit_edge" block. 
> 
> Bardia Mahjour
> 
> 
> 
> <graycol.gif>Min-Yih Hsu ---2019/07/19 01:47:20 PM---Hi all, Sorry I can't attend the conference call on Wednesday, so I wrapped up my
> 
> From: Min-Yih Hsu <minyihh at uci.edu>
> To: Bardia Mahjour <bmahjour at ca.ibm.com>
> Cc: llvm-dev <llvm-dev at lists.llvm.org>
> Date: 2019/07/19 01:47 PM
> Subject: [EXTERNAL] Re: [llvm-dev] Loop Opt WG Meeting Minutes for July 17, 2019
> 
> 
> 
> 
> Hi all,
> 
> Sorry I can't attend the conference call on Wednesday, so I wrapped up my survey into a blog post that is easier to digest, here is the link:
> https://medium.com/@mshockwave/llvm-loop-lr-survey-6df55f8dff74 <https://medium.com/@mshockwave/llvm-loop-lr-survey-6df55f8dff74> 
> 
> Here is the take away:
> 1.  I'm not sure LoopRotation will cause any problem if the user Passes require the property of exit block predecessors (i.e. predecessors of exit blocks are always in the loop)
> 2. I do a simple experiment on top of LLVM's existing regression testsuite by running LoopRotation before every Passes that use LoopSimplify loops as inputs. About 10% of the selected test cases are failed.
> 3. As the follow up of the experiment, I pick part of the failures from LoopFusion and LoopStrengthReduction to find the root cause. All of them are actually producing expecting and correct results. The failures are caused by false negatives coming from the testing infrastructure.
> 
> As a personal verdicts, I think migrating canonical loops to LoopRotation loops seem to require little of works on existing loop Passes, I’m pretty positive on this migration. But of course, we definitely need feedback from the community and real-field test results.
> 
> B.R.
> - Min
> 
> On Wed, Jul 17, 2019 at 1:28 PM Bardia Mahjour via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> Hi all,
> 
> Apparently some people had trouble joining today. I also had trouble using the attendee ID provided by webex. I've canceled the meeting series and will be scheduling a new one with an updated link. Please remember to update your calendars with the new invite.
> 
> My apologies to those who couldn't join today, and to everyone for the churn. 
> 
> 
> Today's Meeting Minutes:
> 
> ---------------------------
> Wed, July 17th, 2019:
> ---------------------------
> - Data Dependence Graph Presentation
> - Minimal vs full graph: Start with the full graph implementation and 
> leave optimizations until later when we have more imperical evidence on
> where the bottlenecks are in this implementation.
> - Trade-offs of the current proposal discussed with no objections to the 
> overall design from the audience at this time. More feedback is welcome!
> - The approximate sequence of patches to be posted for review will be: 
> 1. DDG (basic), 
> 2. DDG (with simplification)
> 3. DDG (with root node and pi-blocks)
> 4. Control Dependence Graph (CDG)
> 5. Program Dependence Graph (PDG)
> 
> - Status Updates:
> - Directed Graph (https://reviews.llvm.org/D64088 <https://reviews.llvm.org/D64088>)
> - Patch is approved and ready to land.
> - First patch of DDG to be posted soon.
> - Loop Cache Cost Analysis (https://reviews.llvm.org/D63459 <https://reviews.llvm.org/D63459>)
> - Ready and awaiting approval.
> - Loop Guard API (https://reviews.llvm.org/D63885 <https://reviews.llvm.org/D63885>)
> - Need to clarify comments from Philip to agree on the strength of the 
> definition of a loop guard
> - Impact of Loop Rotation on existing passes
> - Min unable to join today, will send a follow up email and/or discuss
> next meeting.
> - Bugzilla bugs update
> - Ran out of time. Postponed to next meeting.
> 
> 
> ------------------------------------------------------------
> Tentative Agenda for next meeting (July 31 @ 11:00 am EST):
> ------------------------------------------------------------
> - Status Updates
> - Impact of Loop Rotation on existing passes (Min-Yih)
> - Bugzilla bugs update (Vivek)
> - Loop Cache Cost Analysis (https://reviews.llvm.org/D63459 <https://reviews.llvm.org/D63459>) (Ettore)
> - Loop Guard API (https://reviews.llvm.org/D63885 <https://reviews.llvm.org/D63885>) (Whitney)
> - Data Dependence Graph (Bardia)
> 
> - Delinearization (Gary Elsesser)
> - Loop vs Function pass (Jamie Schmeiser)
> - Loop Guard API (Whitney)
> 
> 
> Bardia Mahjour
> Compiler Optimizations
> IBM Toronto Software Lab
> bmahjour at ca.ibm.com <mailto:bmahjour at ca.ibm.com> (905) 413-2336
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
> 
> -- 
> Min-Yih Hsu
> Ph.D Student in ICS Department, University of California, Irvine (UCI).
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190723/8cb19545/attachment-0001.html>


More information about the llvm-dev mailing list