diff options
Diffstat (limited to 'polly/lib/Analysis/ScopDetection.cpp')
-rw-r--r-- | polly/lib/Analysis/ScopDetection.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp index e5914df44f1..c6676ff1dd9 100644 --- a/polly/lib/Analysis/ScopDetection.cpp +++ b/polly/lib/Analysis/ScopDetection.cpp @@ -330,11 +330,10 @@ bool ScopDetection::onlyValidRequiredInvariantLoads( } bool ScopDetection::isAffine(const SCEV *S, Loop *Scope, - DetectionContext &Context, - Value *BaseAddress) const { + DetectionContext &Context) const { InvariantLoadsSetTy AccessILS; - if (!isAffineExpr(&Context.CurRegion, Scope, S, *SE, BaseAddress, &AccessILS)) + if (!isAffineExpr(&Context.CurRegion, Scope, S, *SE, &AccessILS)) return false; if (!onlyValidRequiredInvariantLoads(AccessILS, Context)) @@ -731,7 +730,7 @@ bool ScopDetection::hasValidArraySizes(DetectionContext &Context, Value *BaseValue = BasePointer->getValue(); Region &CurRegion = Context.CurRegion; for (const SCEV *DelinearizedSize : Sizes) { - if (!isAffine(DelinearizedSize, Scope, Context, nullptr)) { + if (!isAffine(DelinearizedSize, Scope, Context)) { Sizes.clear(); break; } @@ -759,7 +758,7 @@ bool ScopDetection::hasValidArraySizes(DetectionContext &Context, const Instruction *Insn = Pair.first; const SCEV *AF = Pair.second; - if (!isAffine(AF, Scope, Context, BaseValue)) { + if (!isAffine(AF, Scope, Context)) { invalid<ReportNonAffineAccess>(Context, /*Assert=*/true, AF, Insn, BaseValue); if (!KeepGoing) @@ -793,7 +792,7 @@ bool ScopDetection::computeAccessFunctions( auto *Scope = LI->getLoopFor(Insn->getParent()); if (!AF) { - if (isAffine(Pair.second, Scope, Context, BaseValue)) + if (isAffine(Pair.second, Scope, Context)) Acc->DelinearizedSubscripts.push_back(Pair.second); else IsNonAffine = true; @@ -803,7 +802,7 @@ bool ScopDetection::computeAccessFunctions( if (Acc->DelinearizedSubscripts.size() == 0) IsNonAffine = true; for (const SCEV *S : Acc->DelinearizedSubscripts) - if (!isAffine(S, Scope, Context, BaseValue)) + if (!isAffine(S, Scope, Context)) IsNonAffine = true; } @@ -910,7 +909,7 @@ bool ScopDetection::isValidAccess(Instruction *Inst, const SCEV *AF, IsVariantInNonAffineLoop = true; auto *Scope = LI->getLoopFor(Inst->getParent()); - bool IsAffine = !IsVariantInNonAffineLoop && isAffine(AF, Scope, Context, BV); + bool IsAffine = !IsVariantInNonAffineLoop && isAffine(AF, Scope, Context); // Do not try to delinearize memory intrinsics and force them to be affine. if (isa<MemIntrinsic>(Inst) && !IsAffine) { return invalid<ReportNonAffineAccess>(Context, /*Assert=*/true, AF, Inst, |