<div dir="ltr">Hello all,<br><div><br></div><div>As described in the mail that I've sent in August, we'd like to turn on clang's enable-noundef-analysis by default to address the performance regression after some miscompilation bugs are fixed.</div><div>(The bug fixes are not landed yet; waiting for slowdowns to be handled. The prototype of bug fix is <a href="https://reviews.llvm.org/D106041">https://reviews.llvm.org/D106041</a>)</div><div><br></div><div><div>The two patches are: <a href="https://reviews.llvm.org/D105169" target="_blank">https://reviews.<span class="gmail-il">llvm</span>.org/D105169</a> , <a href="https://reviews.llvm.org/D108453" target="_blank">https://reviews.<span class="gmail-il">llvm</span>.org/D108453</a> .</div><div>These patches help LLVM analyze that variables are well-defined, facilitating optimizations that are correct only if vars are neither undef nor poison.</div><div>They are splitted for readability, but they will be merged into one commit and pushed if accepted.</div></div><div>The first link has the numbers about performance improvements after turning the flag on.</div><div><br></div><div><div>Any questions or concerns about enabling the flag are appreciated.</div></div><div>One major concern that we've received was that enabling the flag could raise merge conflicts and unit test failures in the downstream projects.</div><div><span style="color:rgb(0,0,0);font-family:"Segoe UI","Segoe UI Emoji","Segoe UI Symbol",Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px">To handle this issue, we will disable the noundef flag for requested tests.</span></div><div><span style="color:rgb(0,0,0);font-family:"Segoe UI","Segoe UI Emoji","Segoe UI Symbol",Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px">For any requested tests, we will </span><span style="font-size:13px;color:rgb(0,0,0);font-family:"Segoe UI","Segoe UI Emoji","Segoe UI Symbol",Lato,"Helvetica Neue",Helvetica,Arial,sans-serif">add </span><tt class="gmail-remarkup-monospaced" style="font-size:13px;color:rgb(0,0,0);background:rgba(71,87,120,0.1);padding:1px 4px;border-radius:3px;white-space:pre-wrap;line-break:anywhere">-disable-noundef-analysis</tt><span style="font-size:13px;color:rgb(0,0,0);font-family:"Segoe UI","Segoe UI Emoji","Segoe UI Symbol",Lato,"Helvetica Neue",Helvetica,Arial,sans-serif"> to the flags at </span><tt class="gmail-remarkup-monospaced" style="font-size:13px;color:rgb(0,0,0);background:rgba(71,87,120,0.1);padding:1px 4px;border-radius:3px;white-space:pre-wrap;line-break:anywhere">// RUN: %clang_cc1 ...</tt> to avoid changes in CHECKs. Please feel free to let us know.</div><div><br></div><div>Sincerely,</div><div>Juneyoung</div></div>