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

Wael Yehia via llvm-dev llvm-dev at lists.llvm.org
Wed Nov 27 11:26:20 PST 2019


 Hi, Sorry for spamming, but I noticed that my previous two emails are not being received by my yahoo email and the email is being treated as an attachement (lists.llvm.org archives says An HTML attachment was scrubbed...)
I posted this patch: https://reviews.llvm.org/D70688 [PGO] Add Value Profiling for Loop Trip Count (WIP).I'm looking for reviewers please. Thanks.    On Wednesday, November 27, 2019, 01:42:30 p.m. EST, Wael Yehia <wmyehia2001 at yahoo.com> wrote:  
 
  Hi, Sorry for spamming, but I noticed that my previous two emails are not being received by my yahoo email and the email is being treated as an attachement (lists.llvm.org archives says An HTML attachment was scrubbed...)
 I posted this patch: https://reviews.llvm.org/D70688 [PGO] Add Value Profiling for Loop Trip Count (WIP).I'm looking for reviewers please. Thanks.

    On Thursday, November 21, 2019, 06:32:21 a.m. EST, Bardia Mahjour via llvm-dev <llvm-dev at lists.llvm.org> wrote:  
 
 
-----------------
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).

LoopDeletion
 - 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 
 pointer).

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

_______________________________________________
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/20191127/225a358b/attachment.html>


More information about the llvm-dev mailing list