[llvm-dev] Loop Opt WG Meeting Minutes for Nov 20, 2019

Bardia Mahjour via llvm-dev llvm-dev at lists.llvm.org
Wed Nov 20 10:17:38 PST 2019

Wed, Nov 20, 2019:

Loop Trip Count Value Profiling - Wael Yehia
  - Proposal is to associate value profiles to each loop using the
    llvm.loop metadata.
  - Suggestion for consideration: maybe value profiling should be done
    more generally on branches (as an extension to the presented proposal).

  - Motivation: some passes cause/create empty loops, then instead of
    running loop deletion as a pass for all loops we may want to only
    run it on loop nests that contain empty ones.
  - Could we refactor it to create a loop-deletion utility?
  - Loop deletion has some special hand shake with the old pass manager.
    Need to detect if new pass manager is in use (via checking updater

Loop Analysis
  - It appears that invalidating the LoopInfo analysis in a loop pass
    does not cause the analysis to be rerun on next query.
  - This may be because it is not a well-defined concept for the loop
    pass manager to be invalidating the structure of the loop in the
    middle of iterating over it.

Order of subloops and basic blocks in LoopInfo
  - LoopInfoBase::analyze tries to put loops and basic blocks in
    program order, however update functions don't preserve this order.
  - Might be a bug, but fixing it requires a lot of effort and has
    compile-time impact. It may be better to have the consumers that
    care about the order sort the blocks.

Loop Unswitching:
  - when old unswitching partially unswitches it simplifies the
    branches, but the new unswitching doesn't do that as much.
    This causes SCEV to not be able to generate proper expressions
    in some cases. Philip has a patch to improve SCEV to handle
    these more complex cases.

- Status Updates
  - DomTreeUpdater investigation (Kit)
    - no update and the problem seems to have been fixed!
  - Data Dependence Graph (Bardia)
    - New patch to do topological sort will be posted soon.
  - Loop Nest Analysis (Ettore)
    - Updated patch to be posted soon.

Tentative Agenda for Dec 4, 2019

Scalar Evolution Education (Philip Reames)

- Status Updates
  - Data Dependence Graph (Bardia)
  - Loop Nest Analysis (Ettore)
  - Follow up on multi-dimensional array indexing RFC (Siddharth)
  - Impact of Loop Rotation on existing passes (Min-Yih)
  - Bugzilla bugs update

Bardia Mahjour
Compiler Optimizations
IBM Toronto Software Lab
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191120/8f404a5b/attachment-0001.html>

More information about the llvm-dev mailing list