| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.cpp | 115 TheLoop(L), ORE(ORE) { in LoopVectorizeHints() 162 LLVMContext &Context = TheLoop->getHeader()->getContext(); in setAlreadyVectorized() 168 MDNode *LoopID = TheLoop->getLoopID(); in setAlreadyVectorized() 174 TheLoop->setLoopID(NewLoopID); in setAlreadyVectorized() 219 TheLoop->getStartLoc(), in emitRemarkWithHints() 220 TheLoop->getHeader()) in emitRemarkWithHints() 223 OptimizationRemarkMissed R(LV_NAME, "MissedDetails", TheLoop->getStartLoc(), in emitRemarkWithHints() 224 TheLoop->getHeader()); in emitRemarkWithHints() 258 MDNode *LoopID = TheLoop->getLoopID(); in getHintsFromMetadata() 419 static bool hasOutsideLoopUser(const Loop *TheLoop, Instruction *Inst, in hasOutsideLoopUser() argument [all …]
|
| H A D | LoopVectorize.cpp | 800 createLVAnalysis(const char *PassName, StringRef RemarkName, Loop *TheLoop, in createLVAnalysis() argument 802 BasicBlock *CodeRegion = I ? I->getParent() : TheLoop->getHeader(); 808 DL = TheLoop->getStartLoc(); 829 OptimizationRemarkEmitter *ORE, Loop *TheLoop, in reportVectorizationFailure() argument 832 LoopVectorizeHints Hints(TheLoop, true /* doesn't matter */, *ORE); in reportVectorizationFailure() 834 createLVAnalysis(Hints.vectorizeAnalysisPassName(), ORETag, TheLoop, I) in reportVectorizationFailure() 844 Loop *TheLoop, Instruction *I = nullptr, in reportVectorizationInfo() argument 847 LoopVectorizeHints Hints(TheLoop, true /* doesn't matter */, *ORE); 848 ORE->emit(createLVAnalysis(Hints.vectorizeAnalysisPassName(), ORETag, TheLoop, 855 static void reportVectorization(OptimizationRemarkEmitter *ORE, Loop *TheLoop, in reportVectorization() argument [all …]
|
| H A D | VPlanConstruction.cpp | 34 Loop *TheLoop; member in __anoncb3ea4040111::PlainCFGBuilder 68 : TheLoop(Lp), LI(LI), Plan(std::make_unique<VPlan>(Lp)) {} in PlainCFGBuilder() 139 return !TheLoop->contains(Inst); in isExternalDef() 261 BasicBlock *ThePreheaderBB = TheLoop->getLoopPreheader(); in buildPlainCFG() 270 LoopBlocksRPO RPO(TheLoop); in buildPlainCFG() 317 Plan->getEntry()->setOneSuccessor(getOrCreateVPBB(TheLoop->getHeader())); in buildPlainCFG() 341 std::unique_ptr<VPlan> VPlanTransforms::buildPlainCFG(Loop *TheLoop, in buildPlainCFG() argument 343 PlainCFGBuilder Builder(TheLoop, &LI); in buildPlainCFG() 460 bool RequiresScalarEpilogueCheck, bool TailFolded, Loop *TheLoop, in prepareForVectorization() argument 525 InductionTy, TheLoop); in prepareForVectorization() [all …]
|
| H A D | VPlanTransforms.h | 57 LLVM_ABI_FOR_TEST static std::unique_ptr<VPlan> buildPlainCFG(Loop *TheLoop, 70 bool RequiresScalarEpilogueCheck, bool TailFolded, Loop *TheLoop,
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 141 static void collectCastInstrs(Loop *TheLoop, Instruction *Exit, in collectCastInstrs() argument 176 if (TheLoop->contains(I) && !Visited.count(I)) in collectCastInstrs() 216 PHINode *Phi, RecurKind Kind, Loop *TheLoop, FastMathFlags FuncFMF, in AddReductionVar() argument 223 if (Phi->getParent() != TheLoop->getHeader()) in AddReductionVar() 228 Value *RdxStart = Phi->getIncomingValueForBlock(TheLoop->getLoopPreheader()); in AddReductionVar() 342 if (!SE->isLoopInvariant(PtrScev, TheLoop)) { in AddReductionVar() 378 isRecurrenceInstr(TheLoop, Phi, Cur, Kind, ReduxDesc, FuncFMF, SE); in AddReductionVar() 447 if (!TheLoop->contains(Parent)) { in AddReductionVar() 490 !isAnyOfPattern(TheLoop, Phi, UI, IgnoredVal) in AddReductionVar() 590 collectCastInstrs(TheLoop, ExitInstruction, RecurrenceType, CastInsts, in AddReductionVar() [all …]
|
| H A D | LoopAccessAnalysis.cpp | 760 AccessAnalysis(const Loop *TheLoop, AAResults *AA, const LoopInfo *LI, in AccessAnalysis() argument 764 : TheLoop(TheLoop), BAA(*AA), AST(BAA), LI(LI), DepCands(DA), PSE(PSE), in AccessAnalysis() 797 Loop *TheLoop, unsigned &RunningDepId, 808 bool canCheckPtrAtRT(RuntimePointerChecking &RtCheck, Loop *TheLoop, 871 const Loop *TheLoop; member in __anonaf4eb2f30111::AccessAnalysis 1219 DenseMap<Value *, unsigned> &DepSetId, Loop *TheLoop, in createCheckForAccess() argument 1224 findForkedPointer(PSE, StridesMap, Ptr, TheLoop); in createCheckForAccess() 1232 if (PSE.getSE()->isLoopInvariant(P.getPointer(), TheLoop)) in createCheckForAccess() 1252 TheLoop, Assume)) { in createCheckForAccess() 1272 RtCheck.insert(TheLoop, Ptr, PtrExpr, AccessTy, IsWrite, DepId, ASId, PSE, in createCheckForAccess() [all …]
|
| H A D | LoopInfo.cpp | 1067 MDNode *llvm::findOptionMDForLoop(const Loop *TheLoop, StringRef Name) { in findOptionMDForLoop() argument 1068 return findOptionMDForLoopID(TheLoop->getLoopID(), Name); in findOptionMDForLoop() 1077 llvm::findStringMetadataForLoop(const Loop *TheLoop, StringRef Name) { in findStringMetadataForLoop() argument 1078 MDNode *MD = findOptionMDForLoop(TheLoop, Name); in findStringMetadataForLoop() 1091 std::optional<bool> llvm::getOptionalBoolLoopAttribute(const Loop *TheLoop, in getOptionalBoolLoopAttribute() argument 1093 MDNode *MD = findOptionMDForLoop(TheLoop, Name); in getOptionalBoolLoopAttribute() 1109 bool llvm::getBooleanLoopAttribute(const Loop *TheLoop, StringRef Name) { in getBooleanLoopAttribute() argument 1110 return getOptionalBoolLoopAttribute(TheLoop, Name).value_or(false); in getBooleanLoopAttribute() 1113 std::optional<int> llvm::getOptionalIntLoopAttribute(const Loop *TheLoop, in getOptionalIntLoopAttribute() argument 1116 findStringMetadataForLoop(TheLoop, Name).value_or(nullptr); in getOptionalIntLoopAttribute() [all …]
|
| H A D | VectorUtils.cpp | 1367 auto &DL = TheLoop->getHeader()->getDataLayout(); in collectConstStrideAccesses() 1375 LoopBlocksDFS DFS(TheLoop); in collectConstStrideAccesses() 1398 getPtrStride(PSE, ElementTy, Ptr, TheLoop, Strides, in collectConstStrideAccesses() 1653 if (getPtrStride(PSE, AccessTy, MemberPtr, TheLoop, Strides, in analyzeInterleaving()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | LoopInfo.h | 632 LLVM_ABI MDNode *findOptionMDForLoop(const Loop *TheLoop, StringRef Name); 634 LLVM_ABI std::optional<bool> getOptionalBoolLoopAttribute(const Loop *TheLoop, 638 LLVM_ABI bool getBooleanLoopAttribute(const Loop *TheLoop, StringRef Name); 641 LLVM_ABI std::optional<int> getOptionalIntLoopAttribute(const Loop *TheLoop, 646 LLVM_ABI int getIntLoopAttribute(const Loop *TheLoop, StringRef Name, 655 findStringMetadataForLoop(const Loop *TheLoop, StringRef Name); 658 LLVM_ABI CallBase *getLoopConvergenceHeart(const Loop *TheLoop);
|
| H A D | IVDescriptors.h | 180 LLVM_ABI static InstDesc isFindIVPattern(RecurKind Kind, Loop *TheLoop, 196 AddReductionVar(PHINode *Phi, RecurKind Kind, Loop *TheLoop, 207 isReductionPHI(PHINode *Phi, Loop *TheLoop, RecurrenceDescriptor &RedDes, 220 LLVM_ABI static bool isFixedOrderRecurrence(PHINode *Phi, Loop *TheLoop,
|
| H A D | VectorUtils.h | 672 : PSE(PSE), TheLoop(L), DT(DT), LI(LI), LAI(LAI) {} in InterleavedAccessInfo() 740 Loop *TheLoop; variable 821 return LoopAccessInfo::blockNeedsPredication(BB, TheLoop, DT); in isPredicated()
|
| H A D | LoopAccessAnalysis.h | 706 LLVM_ABI static bool blockNeedsPredication(BasicBlock *BB, Loop *TheLoop, 807 Loop *TheLoop; variable
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.h | 147 if (llvm::hasUnrollTransformation(TheLoop) & TM_Disable) in getInterleave() 155 hasDisableAllTransformsHint(TheLoop)) in getForce() 195 const Loop *TheLoop; variable 260 : TheLoop(L), LI(LI), PSE(PSE), TTI(TTI), TLI(TLI), DT(DT), LAIs(LAIs), in LoopVectorizationLegality() 460 Loop *getLoop() const { return TheLoop; } in getLoop() 565 Loop *TheLoop; variable
|
| H A D | LoopVectorize.h | 173 OptimizationRemarkEmitter *ORE, Loop *TheLoop, Instruction *I = nullptr); 179 Loop *TheLoop, 181 reportVectorizationFailure(DebugMsg, DebugMsg, ORETag, ORE, TheLoop, I);
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 204 static MDNode *createStringMetadata(Loop *TheLoop, StringRef Name, unsigned V) { in createStringMetadata() argument 205 LLVMContext &Context = TheLoop->getHeader()->getContext(); in createStringMetadata() 215 void llvm::addStringMetadataToLoop(Loop *TheLoop, const char *StringMD, in addStringMetadataToLoop() argument 219 MDNode *LoopID = TheLoop->getLoopID(); in addStringMetadataToLoop() 241 MDs.push_back(createStringMetadata(TheLoop, StringMD, V)); in addStringMetadataToLoop() 243 LLVMContext &Context = TheLoop->getHeader()->getContext(); in addStringMetadataToLoop() 247 TheLoop->setLoopID(NewLoopID); in addStringMetadataToLoop() 251 llvm::getOptionalElementCountLoopAttribute(const Loop *TheLoop) { in getOptionalElementCountLoopAttribute() argument 253 getOptionalIntLoopAttribute(TheLoop, "llvm.loop.vectorize.width"); in getOptionalElementCountLoopAttribute() 257 TheLoop, "llvm.loop.vectorize.scalable.enable"); in getOptionalElementCountLoopAttribute() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | LoopUtils.h | 246 getOptionalElementCountLoopAttribute(const Loop *TheLoop); 322 LLVM_ABI void addStringMetadataToLoop(Loop *TheLoop, const char *MDString, 567 addRuntimeChecks(Instruction *Loc, Loop *TheLoop,
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | HardwareLoops.cpp | 112 OptimizationRemarkEmitter *ORE, Loop *TheLoop, Instruction *I = nullptr) { in reportHWLoopFailure() argument 114 ORE->emit(createHWLoopAnalysis(ORETag, TheLoop, I) << Msg); in reportHWLoopFailure()
|
| /freebsd/contrib/llvm-project/llvm/lib/TableGen/ |
| H A D | TGParser.cpp | 3864 auto TheLoop = std::make_unique<ForeachLoop>(Loc, IterName, ListValue); in ParseForeach() local 3866 TGVarScope *ForeachScope = PushScope(TheLoop.get()); in ParseForeach() 3867 Loops.push_back(std::move(TheLoop)); in ParseForeach()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64TargetTransformInfo.cpp | 5836 static bool containsDecreasingPointers(Loop *TheLoop, in containsDecreasingPointers() argument 5839 for (BasicBlock *BB : TheLoop->blocks()) { in containsDecreasingPointers() 5846 if (getPtrStride(*PSE, AccessTy, Ptr, TheLoop, Strides, /*Assume=*/true, in containsDecreasingPointers()
|