<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><div></div><div><br></div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><div><br></div><div>Greetings</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>Matthias</div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div>Anyway, I would really like a generic backward liveness analysis utility that works on postRA MI. This seems like the ideal place for it.</div><div><br></div><div>-Andy</div><div><br></div><div><div>On Oct 3, 2013, at 4:53 PM, Matthias Braun <<a href="mailto:mbraun@apple.com">mbraun@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Attach is a revised version of the if conversion patch with a test case included.</div><div><br></div><div>Description: remove kill flags after if conversion if necessary</div><div><div>When if converting something like:</div><div>true:</div><div>   ... = R0<kill></div><div><br></div><div>false:</div><div>   ... = R0<kill></div><div><br></div><div>then the instructions of the true block must not have a <kill> flag</div><div>anymore, as the instruction of the false block follow and do still read</div><div>the R0 value.</div><div>Specifically this patch determines the set of register live-in in the</div><div>false block (possibly after simulating the liveness changes of the</div><div>duplicated instructions). Each of these live-in registers mustn't be</div><div>killed.</div></div><div><br></div><div>Greetings<span class="Apple-tab-span" style="white-space:pre">   </span></div><div><span class="Apple-tab-span" style="white-space:pre">     </span>Matthias</div><div><br></div><div></div></div><span><remove-kill-flags-after-if-conversion-if-necessary.patch></span><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div></div><br><div><div>On Oct 3, 2013, at 11:02 AM, Matthias Braun <<a href="mailto:mbraun@apple.com">mbraun@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br>On Oct 3, 2013, at 10:52 AM, Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>> wrote:<br><br><blockquote type="cite">The standard mechanism is one patch per email. Also, usually more<br>description as well.<br></blockquote>I hope the descriptions in the commit-messages are enough. Here they are again:<br><br>* fix bad kill flags after if conversion:<br>If the true block had kill flags on registers being used in the false<br>block, then these kill flags must be removed after if conversion.<br><br>* fix post ra scheduler setting wrong kill flags in bundles<br>The PostRA scheduler only looked at the BUNDLE marker instruction, which<br>resulted in invalid kill flags inside the bundle. This version changes<br>it so the kill flags are set inside the bundle at the latest bundle<br>instruction possible.<br><br>* MachineVerifier: allow physreg use if just a subreg is defined<br>We can't mark partially undefined registers, so we have to allow reading<br>a register in the machine verifier if just parts of a register are<br>defined.<br><br>Thanks<br><span class="Apple-tab-span" style="white-space: pre;"> </span>Matthias<br><br><blockquote type="cite"><br>-eric<br><br>On Thu, Oct 3, 2013 at 10:44 AM, Matthias Braun <<a href="mailto:mbraun@apple.com">mbraun@apple.com</a>> wrote:<br><blockquote type="cite">The attached patches improve code correctness (in the sense of -verify-machineinstrs) in codegen. This mainly improves the situation for the arm backend. Please review, thanks.<br><br>Greetings<br>      Matthias<br><br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br><br></blockquote></blockquote><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a></div></blockquote></div><br></div>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br></blockquote></div><br></div></blockquote></div><br></div></blockquote></div><br></div></blockquote></div><br></body></html>