<div dir="ltr">Yeah, these were just debugging asserts.  They are there so i got asserts on infinite loops and could bugpoint the testcases.<div>There shouldn't be any bugs left (most of the infinite loops were due to inconsistency between the iterator and phitransaddr in what the result of phi translation was.  Now that they use the same thing, there is no inconsistency) :)</div><div><div><div><div><div><br><div>They should definitely be removed, and i've run memoryssa across google's codebase without them triggering.</div><div><br></div><div>I'm pretty sure i won't get to this patch in the next 6 months, though i'm trying to find someone on my side to take it over. If someone else wants to, that'd be awesome as well.<br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 4, 2016 at 5:48 PM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">hfinkel added a comment.<br>
<br>
Thanks for the update!<br>
<br>
Quick comment (just so I don't forget), there are a few places that have:<br>
<br>
  assert(N < 10000 && ..)<br>
<br>
that need to become actual conservative bailouts instead of asserts.<br>
<br>
<br>
================<br>
Comment at: lib/Transforms/Utils/MemorySSA.cpp:1284<br>
@@ +1283,3 @@<br>
+  if (const LoadInst *LI = dyn_cast<LoadInst>(I))<br>
+    if (LI->getMetadata(LLVMContext::MD_invariant_load) != nullptr) {<br>
+      doCacheInsert(StartingAccess, MSSA->getLiveOnEntryDef(), Q,<br>
----------------<br>
You might also want to check AA->pointsToConstantMemory here.<br>
<br>
<br>
<a href="http://reviews.llvm.org/D7864" rel="noreferrer" target="_blank">http://reviews.llvm.org/D7864</a><br>
<br>
<br>
<br>
</blockquote></div><br></div></div></div></div></div></div></div></div>