<div dir="ltr"><a href="https://reviews.llvm.org/D28934">https://reviews.llvm.org/D28934</a> has a version of the SCC finder you can borrow if you want (TarjanSCC class)</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 16, 2018 at 8:26 AM, Daniel Berlin via Phabricator <span dir="ltr"><<a href="mailto:reviews@reviews.llvm.org" target="_blank">reviews@reviews.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">dberlin added a comment.<br>
<br>
What you've implemented (or trying to) is really the SCC algorithm from  from "Simple and Efficient<br>
Construction of Static Single Assignment Form" at<br>
<a href="http://compilers.cs.uni-saarland.de/papers/bbhlmz13cc.pdf" rel="noreferrer" target="_blank">http://compilers.cs.uni-<wbr>saarland.de/papers/bbhlmz13cc.<wbr>pdf</a><br>
<br>
That will find the values you seek here :)<br>
(you don't have to do the recursive simplification it does)<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="https://reviews.llvm.org/D44564" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D44564</a><br>
<br>
<br>
<br>
</div></div></blockquote></div><br></div>