<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 15, 2014 at 1:54 PM, Robinson, Paul <span dir="ltr"><<a href="mailto:Paul_Robinson@playstation.sony.com" target="_blank">Paul_Robinson@playstation.sony.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">> -----Original Message-----<br>
> From: Sean Silva [mailto:<a href="mailto:silvas@purdue.edu">silvas@purdue.edu</a>]<br>
> Sent: Tuesday, January 14, 2014 6:57 PM<br>
> To: <a href="mailto:chandlerc@gmail.com">chandlerc@gmail.com</a>; Robinson, Paul<br>
> Cc: <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>; <a href="mailto:silvas@purdue.edu">silvas@purdue.edu</a><br>
> Subject: Re: [PATCH] Disable passes on optnone functions<br>
><br>
><br>
>   Is there an email thread that decided on this direction? (so that I<br>
> can catch up) It seems really odd (and difficult to maintain) to litter<br>
> the codebase with checks in each pass.<br>
<br>
</div>There was this one, which has lots of other stuff on it and one comment<br>
from Chandler not liking a less intrusive patch that added a flag and<br>
caused the pass manager to make the decision instead of the individual<br>
passes:<br>
<a href="http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20131111/194876.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20131111/194876.html</a><br>
<br>
The implied model now is that every pass needs to be aware of the<br>
attributes that would affect its operation, and Do The Right Thing(tm).<br>
I'm not happy that it touches every transform pass either, but this is<br>
specifically responding to Chandler's review comments.  It doesn't<br>
expand the PassManager<->Pass interface, at the cost of widening the<br>
IR<->Pass interface.<br>
<div class="im"><br>
><br>
>   In particular, what ever happened to just splitting all the notionally<br>
> "optnone" functions into a separate module, and linking them back in at<br>
> the end? That seems much more general. I don't see a response to<br>
> <<a href="http://article.gmane.org/gmane.comp.compilers.llvm.cvs/160085" target="_blank">http://article.gmane.org/gmane.comp.compilers.llvm.cvs/160085</a>> or a<br>
> response to Nick's original suggestion (which was restricted to using<br>
> the commandline tools). It seems very simple to split the module like<br>
> that.<br>
<br>
</div>Except it totally fails for LTO.  I mentioned this to Nick at the<br>
LLVM conference, which he accepted as a valid objection; sorry that<br>
never got documented on the list.<br></blockquote><div><br></div><div><br></div><div>Ah, that makes sense.</div><div><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

--paulr<br>
<br>
><br>
> <a href="http://llvm-reviews.chandlerc.com/D2369" target="_blank">http://llvm-reviews.chandlerc.com/D2369</a><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" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div>