[all-commits] [llvm/llvm-project] e949b5: [LAA] Use PSE::getSymbolicMaxBackedgeTakenCount. (...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Tue Jun 4 14:23:52 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e949b54a5b7cd7cd0690fa126be3363a21f05a8e
https://github.com/llvm/llvm-project/commit/e949b54a5b7cd7cd0690fa126be3363a21f05a8e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-06-04 (Tue, 04 Jun 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/test/Analysis/LoopAccessAnalysis/early-exit-runtime-checks.ll
A llvm/test/Transforms/LoopDistribute/early-exit.ll
A llvm/test/Transforms/LoopLoadElim/early-exit.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
Log Message:
-----------
[LAA] Use PSE::getSymbolicMaxBackedgeTakenCount. (#93499)
Update LAA to use PSE::getSymbolicMaxBackedgeTakenCount which returns
the minimum of the countable exits.
When analyzing dependences and computing runtime checks, we need the
smallest upper bound on the number of iterations. In terms of memory
safety, it shouldn't matter if any uncomputable exits leave the loop,
as long as we prove that there are no dependences given the minimum of
the countable exits. The same should apply also for generating runtime
checks.
Note that this shifts the responsiblity of checking whether all exit
counts are computable or handling early-exits to the users of LAA.
Depends on https://github.com/llvm/llvm-project/pull/93498
PR: https://github.com/llvm/llvm-project/pull/93499
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list