[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