<div dir="ltr">Hi Hal,<div><br></div><div>I'm fine with it landing in-tree and then doing the refactoring from there. I can even do it if needed :)</div><div><br></div><div>A utility class seems about right - the only thing I'm trying to avoid is duplication of the algorithm.<br><div><br></div><div>Cheers,</div><div><br></div><div>James</div><div><br><div class="gmail_quote">On Mon Feb 16 2015 at 2:45:11 AM <a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a> <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In <a href="http://reviews.llvm.org/D7531#123925" target="_blank">http://reviews.llvm.org/D7531#<u></u>123925</a>, @hfinkel wrote:<br>
<br>
> In <a href="http://reviews.llvm.org/D7531#123922" target="_blank">http://reviews.llvm.org/D7531#<u></u>123922</a>, @jmolloy wrote:<br>
><br>
> > Hi Hal,<br>
> ><br>
> > I'm looking at using very similar information in a pass I'm writing (live bits information). Would it be easy enough to move the AliveBits stuff into a utility class so it can be called from elsewhere?<br>
><br>
><br>
> Yes, I think we could separate the analysis part from the part that removes the completely-dead parts. If you can tell me, what are you working on?<br>
<br>
<br>
Upon further reflection, I'm not sure what the right refactoring for this would be. It could be an analysis pass, but it could also be a utility class exported from here. An actual analysis pass may not be particularly useful here because I don't think it would be likely to be preserved by any non-trivial transformation. I don't think there is any real way to "locally repair" the analysis after making a change (you could update it to get  conservative answer, but because you never remove live bits under iteration, you'd not get the same answer as you might running the analysis from the beginning).<br>
<br>
As a result, we might want to get this functionality in-tree, and then refactor it there.<br>
<br>
><br>
<br>
><br>
<br>
> > Cheers,<br>
<br>
><br>
<br>
> ><br>
<br>
><br>
<br>
> > James<br>
<br>
><br>
<br>
<br>
<br>
<a href="http://reviews.llvm.org/D7531" target="_blank">http://reviews.llvm.org/D7531</a><br>
<br>
EMAIL PREFERENCES<br>
  <a href="http://reviews.llvm.org/settings/panel/emailpreferences/" target="_blank">http://reviews.llvm.org/<u></u>settings/panel/<u></u>emailpreferences/</a><br>
<br>
<br>
<br>
______________________________<u></u>_________________<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/<u></u>mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div></div></div>