<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;"><br><div><div>On Feb 21, 2014, at 3:29 PM, Chandler Carruth <<a href="mailto:chandlerc@google.com">chandlerc@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">I'm moderately concerned that no one will actually follow through on this, but I suppose at the worst I will.</div></blockquote><div>Aren’t you writing a RFC?</div><div>This will draw the attention of the community and hopefully, several people would be interested in helping here.</div><div>I also think there is something to clean up here, but I will not commit on doing that as this is not a promise I am sure to honor.</div><br><blockquote type="cite"><div dir="ltr">Since this fixes a build failure for some folks, yea, go for it.</div></blockquote><div>Thanks, committed as r201912.</div><br><blockquote type="cite"><div dir="ltr"><div><br></div><div><div>+  // For codegen passes, only passes that does IR to IR transformation are</div>
<div>+  // supported. For now, just add CodeGenPrepare.</div><div>+  initializeCodeGenPreparePass(Registry);</div></div><div><br></div><div>s/does/do/</div></div></blockquote><div>Good catch!</div><br><blockquote type="cite"><div dir="ltr"><div><br></div><div>This bit also highlights that there is a *lot* more work to do to make this a reasonable model. =/ We've sunk the hacks into opt.cpp essentially, which is better, but still a bit hacky.</div>
</div><div class="gmail_extra"><br></div></blockquote>I agree. Now that I have been taught about the intended design (thanks to you, Hal, and Lang), I also fell this is something we have to fix eventually.</div><div><br></div><div>Thanks,</div><div>-Quentin</div><div><blockquote type="cite"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 21, 2014 at 1:32 PM, Quentin Colombet <span dir="ltr"><<a href="mailto:qcolombet@apple.com" target="_blank">qcolombet@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Hi Chandler,</div><div><br></div><div>I know you are working on a RFC for the more general problem of layer violation. In the meantime, could I commit this innocent patch? (Do not be suspicious I said it is innocent :)).</div>
<div><br></div><div>Thanks,</div><div>
<div style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;white-space:normal;font-family:Helvetica;word-wrap:break-word;word-spacing:0px">
-Quentin</div>

</div><div><div class="h5">
<br><div><div>On Feb 20, 2014, at 1:40 PM, Quentin Colombet <<a href="mailto:qcolombet@apple.com" target="_blank">qcolombet@apple.com</a>> wrote:</div><br><blockquote type="cite"><div style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
Hi Lang,<br><br>Thanks for the update, I better understand the underlying problem now :).<br><br>On Feb 20, 2014, at 11:09 AM, Lang Hames <<a href="mailto:lhames@gmail.com" target="_blank">lhames@gmail.com</a>> wrote:<br>
<br><blockquote type="cite">Hi All,<br><br>Summarizing some discussion about this on IRC: Hal is right, opt<br>already depends on CodeGen (indirectly via a dependence on the<br>targets). So I renounce my concern on that point - having opt run CGP<br>
isn't a problem, at least in terms of changing dependencies. As for<br>bugpoint, it does not currently depend on CodeGen, so that really is a<br>new dependence. I'm not aware of any problems with that though.<br><br>
<blockquote type="cite">As one can notice (makefile, CMakeLists) the patch introduces a dependency<br>on libLLVMCodeGen for both opt and bugpoint because of that.<br></blockquote><br>Quentin - out of interest, do you actually need to specify the<br>
dependence on CodeGen for opt. From what we discovered it seems like<br>using CGP from opt should just work?<br></blockquote>No, we don’t but I thought it was cleaner that way.<br><br><blockquote type="cite"><br>I think Chandler's point is still valid - if opt and llc depend on the<br>
same libraries it's not clear that there's any value to making them<br>separate tools.<br></blockquote>I just saw some part of the discuss on IRC. It is clearer now what was the concern and indeed, I was not planing on addressing that here :).<br>
<br>Thanks,<br>-Quentin<br><br><blockquote type="cite">That issue is only loosely related to this patch<br>though, and shouldn't stop it going in.<br><br>Cheers,<br>Lang.<br><br>On Thu, Feb 20, 2014 at 10:20 AM, Hal Finkel <<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>> wrote:<br>
<blockquote type="cite">----- Original Message -----<br><blockquote type="cite">From: "Lang Hames" <<a href="mailto:lhames@gmail.com" target="_blank">lhames@gmail.com</a>><br>To: "Tom Stellard" <<a href="mailto:tom@stellard.net" target="_blank">tom@stellard.net</a>><br>
Cc: "Hal Finkel" <<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>>, "Commit Messages and Patches for LLVM" <<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a>><br>
Sent: Thursday, February 20, 2014 12:18:44 PM<br>Subject: Re: [PATCH] Move CodeGenPrepare into lib/CodeGen<br><br>Hi All,<br><br><blockquote type="cite"><blockquote type="cite">I agree, I don't see why we're conflating all of these different<br>
things. Can we not move the pass into CodeGen, and then deal with<br>adding IR-pass-driving features into llc as a follow-up matter?<br><br></blockquote></blockquote><br>Absolutely. Sorry - I should have been clearer, but I'm all for this.<br>
I'm just suggesting that making opt depend on CodeGen should be a<br>temporary hack while we teach llc how to run IR -> IR passes neatly.<br>Then the CGP tests should be updated to use llc rather than opt.<br></blockquote>
<br>opt already depends on CodeGen so that it can use TTI, this is necessary to sensibly run the vectorizer, etc. and that seems unlikely to change.<br><br>-Hal<br><br><blockquote type="cite"><br>- Lang.<br><br></blockquote>
<br>--<br>Hal Finkel<br>Assistant Computational Scientist<br>Leadership Computing Facility<br>Argonne National Laboratory<br></blockquote>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br></blockquote><br><br>_______________________________________________<br>llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a></div>
</blockquote></div><br></div></div></div></blockquote></div><br></div>
</blockquote></div><br></body></html>