[llvm-dev] Loop Opt WG Meeting Minutes for July 17, 2019
Bardia Mahjour via llvm-dev
llvm-dev at lists.llvm.org
Mon Jul 22 07:57:13 PDT 2019
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
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
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> 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)
- Patch is approved and ready to land.
- First patch of DDG to be posted soon.
- Loop Cache Cost Analysis (https://reviews.llvm.org/D63459)
- Ready and awaiting approval.
- Loop Guard API (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) (Ettore)
- Loop Guard API (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 (905) 413-2336
_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org
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/20190722/06107a7b/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/20190722/06107a7b/attachment.gif>
More information about the llvm-dev
mailing list