[PATCH] D42717: [JumpThreading] sync DT for LVI analysis (PR 36133)

Brian Rzycki via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 13 15:22:06 PST 2018


brzycki added a comment.

> IMHO, if you were going to go that route, LVI checks whether DT is null, and so you could wrap this all in a "UpdatedDTOrNull" object that, when cast to a DominatorTree *, returned the tree if it was up to date, or a null pointer if it was not.

It's a bit more subtle than that @dberlin due to the way LazyValueInfo is defined. Because the LazyValueInfoImpl object is cached and re-used it would store a pointer to DT (or nullptr) at the instance of creating the first cachced LVI instance.  I ran into this problem with my first attempt to disable DT within LVI and is another reason I decided on the new external methods.

I think this patch is ready to commit, barring any objections.


https://reviews.llvm.org/D42717





More information about the llvm-commits mailing list