<html><body><p><font size="2">Thanks Florian.</font><br><br><font size="2">Tim you said:</font><br><font size="2">> </font>Some cases can be undone by rematerialization, but not all, and it can involve a lot of effort which increases compile time.<br><br><font size="2">Do you have examples of cases where rematerialization is not possible? We are interested in learning about any previous attempts at trying to address the issue in RA. Have you tried it?</font><br><br><font size="2">Bardia Mahjour<br>Compiler Optimizations<br>IBM Toronto Software Lab<br>bmahjour@ca.ibm.com (905) 413-2336<br><br></font><br><br><img width="16" height="16" src="cid:1__=8FBB0EE7DFC6C0DC8f9e8a93df938690918c8FB@" border="0" alt="Inactive hide details for Florian Hahn ---2019/09/13 11:16:01 AM---Hi, > On Sep 11, 2019, at 17:51, Bardia Mahjour via llvm-dev"><font size="2" color="#424282">Florian Hahn ---2019/09/13 11:16:01 AM---Hi, > On Sep 11, 2019, at 17:51, Bardia Mahjour via llvm-dev <llvm-dev@lists.llvm.org> wrote:</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">Florian Hahn <florian_hahn@apple.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">Bardia Mahjour <bmahjour@ca.ibm.com></font><br><font size="2" color="#5F5F5F">Cc:        </font><font size="2">via llvm-dev <llvm-dev@lists.llvm.org>, tcorring@amd.com</font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">2019/09/13 11:16 AM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">[EXTERNAL] Re: [llvm-dev] Loop Opt WG Meeting Minutes for Sep 11, 2019</font><br><font size="2" color="#5F5F5F">Sent by:        </font><font size="2">florian_hahn@apple.com</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br>Hi,<br><br>
<ul><ul>On Sep 11, 2019, at 17:51, Bardia Mahjour via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org"><u><font color="#0000FF">llvm-dev@lists.llvm.org</font></u></a>> wrote:<br>
<p><font size="2">---------------------------<br>Wed, Sep 11, 2019:<br>---------------------------</font><br><font size="2"><br>- LICM vs Loop Sink Strategy (Whitney)<br>- LICM and SCEV expander host code with no regards to increased <br>live-ranges. This is a long standing issue where historically <br>preference has been to keep LICM more aggressive.</font></ul></ul><br>This issue also motivated adding metadata to disable LICM (l<font face="Helvetica Neue">lvm.loop.licm.disable) recently. </font><a href="https://reviews.llvm.org/D64557"><u><font color="#0000FF">https://reviews.llvm.org/D64557</font></u></a><ul><ul><font size="2">- Two questions from IBM side:<br>a. This problem is not specific to the POWER platform, so we are<br>wondering if other people are interested?<br>- b. Where would be the best place to address this issue?<br>- Since it's hard to come up with an accurate register pressure <br>estimator in opt, it's probably better to be done fairly late,<br>maybe after instruction scheduling.<br>- A good place to start would be instruction re-materialization in <br>the register allocator.<br>- Problem is the logic in the register allocator can deal with a <br>single instruction (instead of groups of instructions) at a time.<br>- Start by handling one single-instruction at a time and apply the<br>same logic to groups of instructions iteratively to see the <br>impact on performance and compile-time.<br>- live-range editor may have utilities to help with code motion.<br>- lazy-code-motion may be a good long term solution, but no one seems<br>to be actively working on it.</font><br><font size="2"><br>- Announcements: <br>- flang call moved so we are no longer in conflict!</font><br><font size="2"><br>- Philip is working on making loop vectorizer robust in the face of <br>multiple exits. There are two subproblems<br>1. vectorizer currently gives up because scev is not giving exit <br>counts (due to a bug?). This is relatively easy to fix and<br>Philip will have a patch for it soon.<br>2. loop exit cannot be analyzed due to data dependent exit, which<br>is currently handled via predication. There is a lot of room<br>for improvement, specially for read-only loops. <br>Please let him know if you are interested.</font><br><br><font size="2"><br>- Status Updates<br>- Data Dependence Graph (</font><a href="https://reviews.llvm.org/D65350"><u><font size="2" color="#0000FF">https://reviews.llvm.org/D65350</font></u></a><font size="2">) (Bardia)<br>- All review comments are addressed. Waiting for approval.<br>- Bugzilla bugs update (Vivek)<br>- Florian has a patch fixing loop bugs related to max trip count.</font><br><font size="2"><br>----------------------------<br>Tentative Agenda for Sept 25<br>----------------------------</font><br><font size="2"><br>Presentation from Marc Moreno Maza about his work on delinearization.</font><br><font size="2"><br>- Status Updates<br>- Follow up on multi-dimensional array indexing RFC (Siddharth)<br>- Impact of Loop Rotation on existing passes (Min-Yih)<br>- Data Dependence Graph (</font><a href="https://reviews.llvm.org/D65350"><u><font size="2" color="#0000FF">https://reviews.llvm.org/D65350</font></u></a><font size="2">) (Bardia)<br>- Bugzilla bugs update (Vivek)<br>- Others?</font><br><br><font size="2"><br>Bardia Mahjour<br>Compiler Optimizations<br>IBM Toronto Software Lab</font><p>_______________________________________________<br>LLVM Developers mailing list<u><font color="#0000FF"><br></font></u><a href="mailto:llvm-dev@lists.llvm.org"><u><font color="#0000FF">llvm-dev@lists.llvm.org</font></u></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></ul></ul><br><br><BR>
</body></html>