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

Bardia Mahjour via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 3 09:46:15 PDT 2019

Wed, July 3rd, 2019:
- Status Updates

    - Directed Graph  (https://reviews.llvm.org/D64088) (Bardia)
        - Patch posted for review on Tuesday July 2nd. Awaiting comments.

    - Loop Cache Cost Analysis (https://reviews.llvm.org/D63459) (Ettore)
         - Addressed all review comments, awaiting further comments or

    - Survey of Loop Canonical Form expected by various passes (Min-Yih
         - Detailed information can be found here:

    - Survey of Loop related bugs in Bugzilla (Vivek)
         - About 180 bugs were found many of which are quite old (open
since 2015).
         - A few were already fixed so they were closed by Vivek.
         - Some bugs are reproducible many of which are compiler crashes.
The tracebacks for these
            crashes seem to be all unique.

Decisions and To Do's:

1. LCSSA form is fairly easy to maintain and is required to be preserved by
loop passes in the
    New Pass Manager, so it could be considered as part of loop canonical

2. Look further into the possibility of having Loop Rotate as part of
canonical form.
  2a. Look into whether existing passes are able to perform their
transformations if loops are in
        rotated form (Min-Yih)
  2b. There are concerns over code size increase if loop rotation becomes
part of the canonical
         form. One way to address this concern is to have a pass that
reverses the effect of loop
         rotation (ie "unrotate" loops).  "Unrotating" loops require us to
be able to identify loop guards
         and match them with the loop latch branch condition. Look into
enhancing loop guard
         detection. (Whitney)
  2c. Come up with a test case that shows the code size increase as a
result of loop rotation.
        The test case can help evaluate the impact of loop "unrotation"
pass. (Volunteer needed!)

3. Look for patterns in the loop-related bugs in bugzilla, so we can
identify weak areas and see
    what can be done about them. (Vivek)

4. Postpone discussion on DDG and delinearization to the next meeting.
Share a link to the DDG
    presentation. (Bardia)

Tentative Agenda (July 17th):

    - Data Dependence Graph Presentation (Bardia)
    - Delinearization (Gary Elsesser)
    - Loop vs Function pass (Jamie Schmeiser)
    - Status Updates
        - Directed Graph  (https://reviews.llvm.org/D64088) (Bardia)
        - Loop Cache Cost Analysis (https://reviews.llvm.org/D63459)
        - Impact of Loop Rotation on existing passes (Min-Yih)
        - Bugzilla bugs update (Vivek)

Bardia Mahjour
Compiler Optimizations
IBM Toronto Software Lab
bmahjour at ca.ibm.com (905) 413-2336
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190703/3727c5a7/attachment.html>

More information about the llvm-dev mailing list