[PATCH] D50295: Let GetUnderlyingObject/Objects use MemorySSA

Hal Finkel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 5 19:53:19 PDT 2018


hfinkel added a comment.

In https://reviews.llvm.org/D50295#1188623, @aqjune wrote:

> Thanks for the comments!
>
> @hfinkel The motivation is that GetUnderlyingObject stucks at cases like this:
>
>   store i8* %p, i8** %q
>   %p2 = load i8*, i8** %q ; p2 is p
>
>
> If we have MemorySSA, this can be resolved in constant time. I believe BasicAliasAnalysis can get benefit this, hence supporting partially flow sensitive analysis.


I read that in the comment ;) -- but why? Shouldn't all such cases be simplified by GVN (etc.) into a form where GetUnderlyingObjects, as is, can reason about them?

> Regarding GetUnderlyingObjects - this patch contains update to help GetUnderlyingObjects use MemorySSA as well, by passing the argument into GetUnderlyingObject. I found that description/title of this patch wasn't containing the info. so I updated it.




https://reviews.llvm.org/D50295





More information about the llvm-commits mailing list