[polly] [llvm] [AST] Don't merge memory locations in AliasSetTracker (PR #65731)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 8 05:59:30 PST 2024


================
@@ -307,7 +173,7 @@ class AliasSetTracker {
   BatchAAResults &AA;
   ilist<AliasSet> AliasSets;
 
-  using PointerMapType = DenseMap<AssertingVH<Value>, AliasSet::PointerRec *>;
+  using PointerMapType = DenseMap<MemoryLocation, AliasSet *>;
----------------
nikic wrote:

Information loss is unavoidable here, because both NoAlias and MustAlias are correct results for two undef pointers. You're always going to lose one or the other. We can chose which one we pick.

The current AST implementation picks MustAlias, and I don't see a reason why we would want to change that. Creating a new set for every undef pointer doesn't make sense to me.

https://github.com/llvm/llvm-project/pull/65731


More information about the llvm-commits mailing list