diff options
| author | Ramkumar Ramachandra <ramkumar.ramachandra@codasip.com> | 2024-07-24 16:32:24 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-24 16:32:24 +0100 |
| commit | e1a3aa8c0fb0103427c45a5c861fc98aa44a4821 (patch) | |
| tree | 16a1cc3bd7a6b474f478a8f6fefec56b89a4faac /llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp | |
| parent | dd82a84e0eeafb017c7220c4a9fbd0a8a407f8a9 (diff) | |
LV/Legality: fix style after cursory reading (NFC) (#100363)
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp | 86 |
1 files changed, 39 insertions, 47 deletions
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp index cafec165f6d6..5babb1d4c1f9 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp @@ -47,7 +47,7 @@ cl::opt<bool> HintsAllowReordering("hints-allow-reordering", cl::init(true), cl::Hidden, cl::desc("Allow enabling loop hints to reorder " "FP operations during vectorization.")); -} +} // namespace llvm // TODO: Move size-based thresholds out of legality checking, make cost based // decisions instead of hard thresholds. @@ -216,20 +216,19 @@ void LoopVectorizeHints::emitRemarkWithHints() const { TheLoop->getStartLoc(), TheLoop->getHeader()) << "loop not vectorized: vectorization is explicitly disabled"; - else { - OptimizationRemarkMissed R(LV_NAME, "MissedDetails", - TheLoop->getStartLoc(), TheLoop->getHeader()); - R << "loop not vectorized"; - if (Force.Value == LoopVectorizeHints::FK_Enabled) { - R << " (Force=" << NV("Force", true); - if (Width.Value != 0) - R << ", Vector Width=" << NV("VectorWidth", getWidth()); - if (getInterleave() != 0) - R << ", Interleave Count=" << NV("InterleaveCount", getInterleave()); - R << ")"; - } - return R; + + OptimizationRemarkMissed R(LV_NAME, "MissedDetails", TheLoop->getStartLoc(), + TheLoop->getHeader()); + R << "loop not vectorized"; + if (Force.Value == LoopVectorizeHints::FK_Enabled) { + R << " (Force=" << NV("Force", true); + if (Width.Value != 0) + R << ", Vector Width=" << NV("VectorWidth", getWidth()); + if (getInterleave() != 0) + R << ", Interleave Count=" << NV("InterleaveCount", getInterleave()); + R << ")"; } + return R; }); } @@ -271,8 +270,8 @@ void LoopVectorizeHints::getHintsFromMetadata() { if (!MD || MD->getNumOperands() == 0) continue; S = dyn_cast<MDString>(MD->getOperand(0)); - for (unsigned i = 1, ie = MD->getNumOperands(); i < ie; ++i) - Args.push_back(MD->getOperand(i)); + for (unsigned Idx = 1; Idx < MD->getNumOperands(); ++Idx) + Args.push_back(MD->getOperand(Idx)); } else { S = dyn_cast<MDString>(MDO); assert(Args.size() == 0 && "too many arguments for MDString"); @@ -444,10 +443,7 @@ static bool storeToSameAddress(ScalarEvolution *SE, StoreInst *A, return true; // Otherwise compare address SCEVs - if (SE->getSCEV(APtr) == SE->getSCEV(BPtr)) - return true; - - return false; + return SE->getSCEV(APtr) == SE->getSCEV(BPtr); } int LoopVectorizationLegality::isConsecutivePtr(Type *AccessTy, @@ -734,26 +730,21 @@ bool LoopVectorizationLegality::setupOuterLoopInductions() { BasicBlock *Header = TheLoop->getHeader(); // Returns true if a given Phi is a supported induction. - auto isSupportedPhi = [&](PHINode &Phi) -> bool { + auto IsSupportedPhi = [&](PHINode &Phi) -> bool { InductionDescriptor ID; if (InductionDescriptor::isInductionPHI(&Phi, TheLoop, PSE, ID) && ID.getKind() == InductionDescriptor::IK_IntInduction) { addInductionPhi(&Phi, ID, AllowedExit); return true; - } else { - // Bail out for any Phi in the outer loop header that is not a supported - // induction. - LLVM_DEBUG( - dbgs() - << "LV: Found unsupported PHI for outer loop vectorization.\n"); - return false; } + // Bail out for any Phi in the outer loop header that is not a supported + // induction. + LLVM_DEBUG( + dbgs() << "LV: Found unsupported PHI for outer loop vectorization.\n"); + return false; }; - if (llvm::all_of(Header->phis(), isSupportedPhi)) - return true; - else - return false; + return llvm::all_of(Header->phis(), IsSupportedPhi); } /// Checks if a function is scalarizable according to the TLI, in @@ -837,13 +828,13 @@ bool LoopVectorizationLegality::canVectorizeInstrs() { // historical vectorizer behavior after a generalization of the // IVDescriptor code. The intent is to remove this check, but we // have to fix issues around code quality for such loops first. - auto isDisallowedStridedPointerInduction = - [](const InductionDescriptor &ID) { - if (AllowStridedPointerIVs) - return false; - return ID.getKind() == InductionDescriptor::IK_PtrInduction && - ID.getConstIntStepValue() == nullptr; - }; + auto IsDisallowedStridedPointerInduction = + [](const InductionDescriptor &ID) { + if (AllowStridedPointerIVs) + return false; + return ID.getKind() == InductionDescriptor::IK_PtrInduction && + ID.getConstIntStepValue() == nullptr; + }; // TODO: Instead of recording the AllowedExit, it would be good to // record the complementary set: NotAllowedExit. These include (but may @@ -861,7 +852,7 @@ bool LoopVectorizationLegality::canVectorizeInstrs() { // of these NotAllowedExit. InductionDescriptor ID; if (InductionDescriptor::isInductionPHI(Phi, TheLoop, PSE, ID) && - !isDisallowedStridedPointerInduction(ID)) { + !IsDisallowedStridedPointerInduction(ID)) { addInductionPhi(Phi, ID, AllowedExit); Requirements->addExactFPMathInst(ID.getExactFPMathInst()); continue; @@ -876,7 +867,7 @@ bool LoopVectorizationLegality::canVectorizeInstrs() { // As a last resort, coerce the PHI to a AddRec expression // and re-try classifying it a an induction PHI. if (InductionDescriptor::isInductionPHI(Phi, TheLoop, PSE, ID, true) && - !isDisallowedStridedPointerInduction(ID)) { + !IsDisallowedStridedPointerInduction(ID)) { addInductionPhi(Phi, ID, AllowedExit); continue; } @@ -932,9 +923,10 @@ bool LoopVectorizationLegality::canVectorizeInstrs() { if (CI) { auto *SE = PSE.getSE(); Intrinsic::ID IntrinID = getVectorIntrinsicIDForCall(CI, TLI); - for (unsigned i = 0, e = CI->arg_size(); i != e; ++i) - if (isVectorIntrinsicWithScalarOpAtArg(IntrinID, i)) { - if (!SE->isLoopInvariant(PSE.getSCEV(CI->getOperand(i)), TheLoop)) { + for (unsigned Idx = 0; Idx < CI->arg_size(); ++Idx) + if (isVectorIntrinsicWithScalarOpAtArg(IntrinID, Idx)) { + if (!SE->isLoopInvariant(PSE.getSCEV(CI->getOperand(Idx)), + TheLoop)) { reportVectorizationFailure("Found unvectorizable intrinsic", "intrinsic instruction cannot be vectorized", "CantVectorizeIntrinsic", ORE, TheLoop, CI); @@ -1035,14 +1027,14 @@ bool LoopVectorizationLegality::canVectorizeInstrs() { "loop induction variable could not be identified", "NoInductionVariable", ORE, TheLoop); return false; - } else if (!WidestIndTy) { + } + if (!WidestIndTy) { reportVectorizationFailure("Did not find one integer induction var", "integer loop induction variable could not be identified", "NoIntegerInductionVariable", ORE, TheLoop); return false; - } else { - LLVM_DEBUG(dbgs() << "LV: Did not find one integer induction var.\n"); } + LLVM_DEBUG(dbgs() << "LV: Did not find one integer induction var.\n"); } // Now we know the widest induction type, check if our found induction |
