[PATCH] D146206: [LAA] Fix transitive analysis invalidation bug by implementing LoopAccessInfoManager::invalidate

Bjorn Pettersson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 16 02:48:45 PDT 2023


bjope created this revision.
bjope added reviewers: asbirlea, aeubanks, nikic.
Herald added subscribers: StephenFan, hiraditya.
Herald added a project: All.
bjope requested review of this revision.
Herald added a project: LLVM.

The default invalidate method for analysis results is just looking
at the preserved state of the pass itself. It does not consider if
the analysis has an internal state that depend on other analyses.
Thus, we need to implement LoopAccessInfoManager::invalidate in order
to catch if LoopAccessAnalysis needs to be invalidated due to
transitive analyses such as AAManager is being invalidated. Otherwise
we might end up having references to an AAManager that is stale.

Fixes https://github.com/llvm/llvm-project/issues/61324


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D146206

Files:
  llvm/include/llvm/Analysis/LoopAccessAnalysis.h
  llvm/lib/Analysis/LoopAccessAnalysis.cpp
  llvm/test/Analysis/LoopAccessAnalysis/invalidation.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146206.505740.patch
Type: text/x-patch
Size: 5855 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230316/758eaa22/attachment.bin>


More information about the llvm-commits mailing list