[llvm] [SLP] Enable runtime stride stores (PR #200018)
Alexey Bataev via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 11 17:53:18 PDT 2026
================
@@ -25901,15 +25940,18 @@ void BoUpSLP::BlockScheduling::calculateDependencies(
(IsNonSimpleSrc || NumAliased >= AliasedCheckLimit ||
SLP->isAliased(SrcLoc, SrcInst, DepDest->getInst())))) {
- // We increment the counter only if the locations are aliased
- // (instead of counting all alias checks). This gives a better
- // balance between reduced runtime and accurate dependencies.
- NumAliased++;
+ if (!Bundle.NoInternalAlias || !Bundle.findInst(DepDest->getInst())) {
+
+ // We increment the counter only if the locations are aliased
+ // (instead of counting all alias checks). This gives a better
+ // balance between reduced runtime and accurate dependencies.
+ NumAliased++;
- DepDest->addMemoryDependency(BundleMember);
- BundleMember->incDependencies();
- if (!DepDest->isScheduled())
- BundleMember->incrementUnscheduledDeps(1);
+ DepDest->addMemoryDependency(BundleMember);
+ BundleMember->incDependencies();
+ if (!DepDest->isScheduled())
+ BundleMember->incrementUnscheduledDeps(1);
+ }
----------------
alexey-bataev wrote:
They might be in same bundle, but still have some loads in between, which read from the same address. The fact that they are in the different bundles does not mean anything, they may have wrong read/write deps because of this change
https://github.com/llvm/llvm-project/pull/200018
More information about the llvm-commits
mailing list