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

Johannes Doerfert via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 9 13:15:58 PDT 2023


================
@@ -40,36 +40,37 @@ static cl::opt<unsigned>
                         cl::desc("The maximum number of pointers may-alias "
                                  "sets may contain before degradation"));
 
+bool AliasSet::isMustAliasMergeWith(AliasSet &AS, BatchAAResults &BatchAA) const {
+  for (const MemoryLocation &MemLoc : MemoryLocs)
+    for (const MemoryLocation &ASMemLoc : AS.MemoryLocs)
+      if (!BatchAA.isMustAlias(MemLoc, ASMemLoc))
----------------
jdoerfert wrote:

Must-alias is not a transitive relationship? Before we picked a representative and only checked those, why do we need to check all entries now?

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


More information about the llvm-commits mailing list