<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: arial,helvetica,sans-serif; font-size: 10pt; color: #000000'>Hi Andrew,<br><br>Is this still an open question? I took a quick look at the code and I think the change you're proposing makes sense. If you'd like to pursue this, I recommend posting a patch for review.<br><br> -Hal<br><br><hr id="zwchr"><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><b>From: </b>"Andrew Zhogin via llvm-dev" <llvm-dev@lists.llvm.org><br><b>To: </b>lhames@gmail.com<br><b>Cc: </b>llvm-dev@lists.llvm.org<br><b>Sent: </b>Sunday, July 17, 2016 1:29:34 PM<br><b>Subject: </b>[llvm-dev] llvm PeepholeOptimizer + optimizeLoadInstr question<br><br><div dir="ltr">Hello Lang,<div><br></div><div>PeepholeOptimizer allows backend to provide optimizeLoadInstr function to fold memory-load operand.</div><div><br></div><div>But it doesn't work for folding load operand into store instruction (combine into memory-to-memory instruction).</div><div>It is rare case, but some backends have such instructions (like SystemZ MVC).</div><div><div><br></div><div>It doesn't work because "FoldAsLoadDefCandidates.clear()" occurs too early, before current instruction "optimizeLoadInstr" check.</div><div><br></div><div>Could "FoldAsLoadDefCandidates.clear()" be moved later?</div><div><br></div><div>After "!isLoadFoldable(...) && !FoldAsLoadDefCandidates.empty()" condition check.</div><div><br></div>-- <br><div class="gmail_signature">Thanks,</div><div class="gmail_signature">Andrew</div>
</div></div>
<br>_______________________________________________<br>LLVM Developers mailing list<br>llvm-dev@lists.llvm.org<br>http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br></blockquote><br><br><br>-- <br><div><span name="x"></span>Hal Finkel<br>Assistant Computational Scientist<br>Leadership Computing Facility<br>Argonne National Laboratory<span name="x"></span><br></div></div></body></html>