[all-commits] [llvm/llvm-project] 656bf1: [AST] Don't merge memory locations in AliasSetTrac...
Bruno De Fraine via All-commits
all-commits at lists.llvm.org
Wed Jan 17 06:59:26 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 656bf13004d62b8f8360d8d496bb1e6e08407c22
https://github.com/llvm/llvm-project/commit/656bf13004d62b8f8360d8d496bb1e6e08407c22
Author: Bruno De Fraine <brunodf at synopsys.com>
Date: 2024-01-17 (Wed, 17 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/AliasSetTracker.h
M llvm/lib/Analysis/AliasSetTracker.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/test/Analysis/AliasSet/argmemonly.ll
M llvm/test/Analysis/AliasSet/guards.ll
M llvm/test/Analysis/AliasSet/intrinsics.ll
M llvm/test/Analysis/AliasSet/memloc-vscale.ll
M llvm/test/Analysis/AliasSet/memset.ll
M llvm/test/Analysis/AliasSet/memtransfer.ll
M llvm/test/Analysis/AliasSet/saturation.ll
M llvm/test/Transforms/LICM/variant-aainfo.ll
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
Log Message:
-----------
[AST] Don't merge memory locations in AliasSetTracker (#65731)
This changes the AliasSetTracker to track memory locations instead of
pointers in its alias sets. The motivation for this is outlined in an RFC
posted on LLVM discourse:
https://discourse.llvm.org/t/rfc-dont-merge-memory-locations-in-aliassettracker/73336
In the data structures of the AST implementation, I made the choice to
replace the linked list of `PointerRec` entries (that had to go anyway)
with a simple flat vector of `MemoryLocation` objects, but for the
`AliasSet` objects referenced from a lookup table, I retained the
mechanism of a linked list, reference counting, forwarding, etc. The
data structures could be revised in a follow-up change.
More information about the All-commits
mailing list