diff options
author | Florian Hahn <flo@fhahn.com> | 2025-08-01 14:18:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-01 14:18:07 +0100 |
commit | 2ae996cbbe92f006d711eeeb8f29e0946fc1c1e8 (patch) | |
tree | 9016795ce5fd22d4c66fa7a255238a75b5258231 /llvm/lib/Transforms/Scalar/LoopFlatten.cpp | |
parent | 6da1a0908a975a55adb5eae293b37ae0a850b21d (diff) | |
download | llvm-2ae996cbbe92f006d711eeeb8f29e0946fc1c1e8.zip llvm-2ae996cbbe92f006d711eeeb8f29e0946fc1c1e8.tar.gz llvm-2ae996cbbe92f006d711eeeb8f29e0946fc1c1e8.tar.bz2 |
[LAA] Support assumptions in evaluatePtrAddRecAtMaxBTCWillNotWrap (#147047)
This patch extends the logic added in
https://github.com/llvm/llvm-project/pull/128061 to support
dereferenceability information from assumptions as well.
Unfortunately both assumption cache and the dominator tree need to be
threaded through multiple layers to make them available where needed.
PR: https://github.com/llvm/llvm-project/pull/147047
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopFlatten.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopFlatten.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopFlatten.cpp b/llvm/lib/Transforms/Scalar/LoopFlatten.cpp index f3e992c..04039b8 100644 --- a/llvm/lib/Transforms/Scalar/LoopFlatten.cpp +++ b/llvm/lib/Transforms/Scalar/LoopFlatten.cpp @@ -1009,7 +1009,8 @@ PreservedAnalyses LoopFlattenPass::run(LoopNest &LN, LoopAnalysisManager &LAM, // in simplified form, and also needs LCSSA. Running // this pass will simplify all loops that contain inner loops, // regardless of whether anything ends up being flattened. - LoopAccessInfoManager LAIM(AR.SE, AR.AA, AR.DT, AR.LI, &AR.TTI, nullptr); + LoopAccessInfoManager LAIM(AR.SE, AR.AA, AR.DT, AR.LI, &AR.TTI, nullptr, + &AR.AC); for (Loop *InnerLoop : LN.getLoops()) { auto *OuterLoop = InnerLoop->getParentLoop(); if (!OuterLoop) |