<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>