[PATCH] D69914: [LVI] Normalize pointer behavior

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 12 12:16:29 PST 2019


nikic marked an inline comment as done.
nikic added inline comments.


================
Comment at: llvm/lib/Analysis/LazyValueInfo.cpp:687
+  Optional<bool> OptionalIsDereferenced =
+      TheCache.isPointerDereferencedInBlock(Val, BB);
+  if (OptionalIsDereferenced)
----------------
nikic wrote:
> reames wrote:
> > This function signature and usage seems needlessly complicated here.  Can I suggest something along the lines of the following:
> > if (None == TheCache[BB].DereferenceablePointers) {
> >   // populate cache
> > }
> > 
> > return TheCache[BB].DereferenceablePointers->count(V);
> > 
> > You could hide the population inside an ensureDereferenceabilityCached or getDereferenceablePointers interface if you wanted.
> The somewhat awkward API here is used to keep all the members of LazyValueInfoCache private -- I'd have to make parts of it public to allow directly populating the cache directly here.
Or is the suggestion here to just move the population of the cache itself into LazyValueInfoCache as well? That would certainly be easiest.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69914/new/

https://reviews.llvm.org/D69914





More information about the llvm-commits mailing list