<font face="Verdana,Arial,Helvetica,sans-serif" size="2"><font face="Verdana,Arial,Helvetica,sans-serif" size="2"><div><div>Hi, I posted this patch: <a target="_blank" href="https://reviews.llvm.org/D70688" title="https://reviews.llvm.org/D70688">[PGO] Add Value Profiling for Loop Trip Count (WIP)</a></div><div>I'm looking for reviewers please. Thanks</div><div><br></div>Wael Yehia<br>Compiler Development<br>IBM Canada Lab<br><a href="mailto:wyehia@ca.ibm.com">wyehia@ca.ibm.com</a></div><br><br><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2" color="#000000"><font color="#990099">-----"llvm-dev" <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>> wrote: -----</font><div class="iNotesHistory" style="padding-left:5px;"><div style="padding-right:0px;padding-left:5px;border-left:solid black 2px;">To: <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>From: Bardia Mahjour via llvm-dev <!--Notes ACF
<llvm-dev@lists.llvm.org>--><br>Sent by: "llvm-dev" <!--Notes ACF
<llvm-dev-bounces@lists.llvm.org>--><br>Date: 11/20/2019 05:37PM<br>Subject: [EXTERNAL] [llvm-dev] Loop Opt WG Meeting Minutes for Nov 20, 2019<br><br><p><font size="2">-----------------</font><br><font size="2">Wed, Nov 20, 2019:</font><br><font size="2">-----------------</font><br><br><font size="2">Loop Trip Count Value Profiling - Wael Yehia</font><br><font size="2">  - Proposal is to associate value profiles to each loop using the </font><br><font size="2">    llvm.loop metadata. </font><br><font size="2">  - Suggestion for consideration: maybe value profiling should be done</font><br><font size="2">    more generally on branches (as an extension to the presented proposal).</font><br><br><font size="2">LoopDeletion</font><br><font size="2">  - Motivation: some passes cause/create empty loops, then instead of </font><br><font size="2">    running loop deletion as a pass for all loops we may want to only</font><br><font size="2">    run it on loop nests that contain empty ones.</font><br><font size="2">  - Could we refactor it to create a loop-deletion utility?</font><br><font size="2">  - Loop deletion has some special hand shake with the old pass manager. </font><br><font size="2">    Need to detect if new pass manager is in use (via checking updater </font><br><font size="2">    pointer).</font><br><br><font size="2">Loop Analysis</font><br><font size="2">  - It appears that invalidating the LoopInfo analysis in a loop pass </font><br><font size="2">    does not cause the analysis to be rerun on next query.</font><br><font size="2">  - This may be because it is not a well-defined concept for the loop</font><br><font size="2">    pass manager to be invalidating the structure of the loop in the</font><br><font size="2">    middle of iterating over it.</font><br><br><font size="2">Order of subloops and basic blocks in LoopInfo</font><br><font size="2">  - LoopInfoBase::analyze tries to put loops and basic blocks in </font><br><font size="2">    program order, however update functions don't preserve this order.</font><br><font size="2">  - Might be a bug, but fixing it requires a lot of effort and has </font><br><font size="2">    compile-time impact. It may be better to have the consumers that </font><br><font size="2">    care about the order sort the blocks.</font><br><br><font size="2">Loop Unswitching:</font><br><font size="2">  - when old unswitching partially unswitches it simplifies the </font><br><font size="2">    branches, but the new unswitching doesn't do that as much. </font><br><font size="2">    This causes SCEV to not be able to generate proper expressions</font><br><font size="2">    in some cases. Philip has a patch to improve SCEV to handle</font><br><font size="2">    these more complex cases.</font><br><br><font size="2">- Status Updates</font><br><font size="2">  - DomTreeUpdater investigation (Kit)</font><br><font size="2">    - no update and the problem seems to have been fixed!</font><br><font size="2">  - Data Dependence Graph (Bardia)</font><br><font size="2">    - New patch to do topological sort will be posted soon.</font><br><font size="2">  - Loop Nest Analysis (Ettore)</font><br><font size="2">    - Updated patch to be posted soon.</font><br><br><br><font size="2">-----------------------------------</font><br><font size="2">Tentative Agenda for Dec 4, 2019</font><br><font size="2">-----------------------------------</font><br><br><font size="2">Scalar Evolution Education (Philip Reames)</font><br><br><font size="2">- Status Updates</font><br><font size="2">  - Data Dependence Graph (Bardia)</font><br><font size="2">  - Loop Nest Analysis (Ettore)</font><br><font size="2">  - Follow up on multi-dimensional array indexing RFC (Siddharth)</font><br><font size="2">  - Impact of Loop Rotation on existing passes (Min-Yih)</font><br><font size="2">  - Bugzilla bugs update</font><br><br><br><font size="2">Bardia Mahjour<br>Compiler Optimizations<br>IBM Toronto Software Lab</font><br>
</p><div><font face="Courier New,Courier,monospace" size="2">_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a> <br></font></div><!--Notes ACF
</llvm-dev-bounces@lists.llvm.org>--><!--Notes ACF
</llvm-dev@lists.llvm.org>--></div></div></font></font></font><BR>