<div dir="ltr">I'm going to split off your OrderedInstructions part and iterate on it if you don't mind.<div>I'd like to clean up PredicateInfo and a few other use cases (and kill all the existing users/remove the Use API in Dominators, and just leave a note to use OrderedInstructions)</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 1, 2017 at 5:33 PM, Xin Tong 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">trentxintong updated this revision to Diff 97371.<br>
trentxintong added a comment.<br>
Herald added a subscriber: mgorny.<br>
<br>
Add a dominanance check interface that uses caching for instructions within same basic block.<br>
<br>
I do not particularly like the name. I will see whether i can come up with a better one later.<br>
<br>
<br>
<a href="https://reviews.llvm.org/D32720" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D32720</a><br>
<br>
Files:<br>
  include/llvm/Transforms/Utils/<wbr>LoopUtils.h<br>
  include/llvm/Transforms/Utils/<wbr>OrderedInstructions.h<br>
  lib/Transforms/Scalar/LICM.cpp<br>
  lib/Transforms/Utils/<wbr>CMakeLists.txt<br>
  lib/Transforms/Utils/<wbr>LoopUtils.cpp<br>
  lib/Transforms/Utils/<wbr>OrderedInstructions.cpp<br>
  test/Transforms/LICM/loop-<wbr>early-exits.ll<br>
  test/Transforms/LICM/<wbr>preheader-safe.ll<br>
<br>
</blockquote></div><br></div>