diff options
| author | Bruno De Fraine <brunodf@synopsys.com> | 2024-01-17 15:59:13 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-17 15:59:13 +0100 |
| commit | 656bf13004d62b8f8360d8d496bb1e6e08407c22 (patch) | |
| tree | 0899192a30b33a8a79b28127fdbe3dd619ccc52d /llvm/lib/Transforms/Utils/Local.cpp | |
| parent | 8fb685fb7ea165f2bc27a3f19b1cffc3f5a4b329 (diff) | |
| download | llvm-656bf13004d62b8f8360d8d496bb1e6e08407c22.zip llvm-656bf13004d62b8f8360d8d496bb1e6e08407c22.tar.gz llvm-656bf13004d62b8f8360d8d496bb1e6e08407c22.tar.bz2 | |
[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.
Diffstat (limited to 'llvm/lib/Transforms/Utils/Local.cpp')
0 files changed, 0 insertions, 0 deletions
