[PATCH] D7864: This patch introduces MemorySSA, a virtual SSA form for memory.Details on what it looks like are in MemorySSA.h

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 4 16:49:11 PST 2016


Yeah, these were just debugging asserts.  They are there so i got asserts
on infinite loops and could bugpoint the testcases.
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) :)

They should definitely be removed, and i've run memoryssa across google's
codebase without them triggering.

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.

On Mon, Jan 4, 2016 at 5:48 PM, Hal Finkel <hfinkel at anl.gov> wrote:

> hfinkel added a comment.
>
> Thanks for the update!
>
> Quick comment (just so I don't forget), there are a few places that have:
>
>   assert(N < 10000 && ..)
>
> that need to become actual conservative bailouts instead of asserts.
>
>
> ================
> Comment at: lib/Transforms/Utils/MemorySSA.cpp:1284
> @@ +1283,3 @@
> +  if (const LoadInst *LI = dyn_cast<LoadInst>(I))
> +    if (LI->getMetadata(LLVMContext::MD_invariant_load) != nullptr) {
> +      doCacheInsert(StartingAccess, MSSA->getLiveOnEntryDef(), Q,
> ----------------
> You might also want to check AA->pointsToConstantMemory here.
>
>
> http://reviews.llvm.org/D7864
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160104/f3df2ec8/attachment.html>


More information about the llvm-commits mailing list