| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.cpp | 107 TheLoop(L), ORE(ORE) { in LoopVectorizeHints() 154 LLVMContext &Context = TheLoop->getHeader()->getContext(); in setAlreadyVectorized() 160 MDNode *LoopID = TheLoop->getLoopID(); in setAlreadyVectorized() 166 TheLoop->setLoopID(NewLoopID); in setAlreadyVectorized() 211 TheLoop->getStartLoc(), in emitRemarkWithHints() 212 TheLoop->getHeader()) in emitRemarkWithHints() 216 TheLoop->getStartLoc(), TheLoop->getHeader()); in emitRemarkWithHints() 251 MDNode *LoopID = TheLoop->getLoopID(); in getHintsFromMetadata() 411 static bool hasOutsideLoopUser(const Loop *TheLoop, Instruction *Inst, in hasOutsideLoopUser() argument 420 if (!TheLoop->contains(UI)) { in hasOutsideLoopUser() [all …]
|
| H A D | VPlanHCFGBuilder.cpp | 37 Loop *TheLoop; member in __anonacdc2b2f0111::PlainCFGBuilder 74 : TheLoop(Lp), LI(LI), Plan(P) {} in PlainCFGBuilder() 157 BasicBlock *PH = TheLoop->getLoopPreheader(); in isExternalDef() 165 BasicBlock *Exit = TheLoop->getUniqueExitBlock(); in isExternalDef() 173 return !TheLoop->contains(Inst); in isExternalDef() 267 BasicBlock *ThePreheaderBB = TheLoop->getLoopPreheader(); in buildPlainCFG() 278 VPBlockBase *HeaderVPBB = getOrCreateVPBB(TheLoop->getHeader()); in buildPlainCFG() 282 LoopBlocksRPO RPO(TheLoop); in buildPlainCFG() 327 BasicBlock *LoopExitBB = TheLoop->getUniqueExitBlock(); in buildPlainCFG() 340 LoopWorkList.push_back(TheLoop); in buildPlainCFG() [all …]
|
| H A D | VPlanHCFGBuilder.h | 44 Loop *TheLoop; 66 : TheLoop(Lp), LI(LI), Plan(P) {} in VPlanHCFGBuilder()
|
| H A D | LoopVectorize.cpp | 935 StringRef RemarkName, Loop *TheLoop, Instruction *I) { in createLVAnalysis() argument 936 Value *CodeRegion = TheLoop->getHeader(); in createLVAnalysis() 937 DebugLoc DL = TheLoop->getStartLoc(); in createLVAnalysis() 997 OptimizationRemarkEmitter *ORE, Loop *TheLoop, in reportVectorizationFailure() argument 1000 LoopVectorizeHints Hints(TheLoop, true /* doesn't matter */, *ORE); in reportVectorizationFailure() 1002 createLVAnalysis(Hints.vectorizeAnalysisPassName(), ORETag, TheLoop, I) in reportVectorizationFailure() 1007 OptimizationRemarkEmitter *ORE, Loop *TheLoop, in reportVectorizationInfo() argument 1010 LoopVectorizeHints Hints(TheLoop, true /* doesn't matter */, *ORE); in reportVectorizationInfo() 1012 createLVAnalysis(Hints.vectorizeAnalysisPassName(), ORETag, TheLoop, I) in reportVectorizationInfo() 1174 : ScalarEpilogueStatus(SEL), TheLoop(L), PSE(PSE), LI(LI), Legal(Legal), in LoopVectorizationCostModel() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 142 static void collectCastInstrs(Loop *TheLoop, Instruction *Exit, in collectCastInstrs() argument 177 if (TheLoop->contains(I) && !Visited.count(I)) in collectCastInstrs() 217 PHINode *Phi, RecurKind Kind, Loop *TheLoop, FastMathFlags FuncFMF, in AddReductionVar() argument 224 if (Phi->getParent() != TheLoop->getHeader()) in AddReductionVar() 229 Value *RdxStart = Phi->getIncomingValueForBlock(TheLoop->getLoopPreheader()); in AddReductionVar() 343 if (!SE->isLoopInvariant(PtrScev, TheLoop)) { in AddReductionVar() 379 isRecurrenceInstr(TheLoop, Phi, Cur, Kind, ReduxDesc, FuncFMF); in AddReductionVar() 449 if (!TheLoop->contains(Parent)) { in AddReductionVar() 492 !isSelectCmpPattern(TheLoop, Phi, UI, IgnoredVal) in AddReductionVar() 592 collectCastInstrs(TheLoop, ExitInstruction, RecurrenceType, CastInsts, in AddReductionVar() [all …]
|
| H A D | LoopAccessAnalysis.cpp | 622 AccessAnalysis(Loop *TheLoop, AAResults *AA, LoopInfo *LI, in AccessAnalysis() argument 625 : TheLoop(TheLoop), BAA(*AA), AST(BAA), LI(LI), DepCands(DA), PSE(PSE) { in AccessAnalysis() 657 Loop *TheLoop, unsigned &RunningDepId, 666 Loop *TheLoop, const ValueToValueMap &Strides, 702 const Loop *TheLoop; member in __anon42d375aa0111::AccessAnalysis 981 Loop *TheLoop, unsigned &RunningDepId, in createCheckForAccess() argument 987 findForkedPointer(PSE, StridesMap, Ptr, TheLoop); in createCheckForAccess() 991 if (!hasComputableBounds(PSE, Ptr, PtrExpr, TheLoop, Assume)) in createCheckForAccess() 1001 if (!isNoWrap(PSE, StridesMap, Ptr, AccessTy, TheLoop)) { in createCheckForAccess() 1030 RtCheck.insert(TheLoop, Ptr, PtrExpr, AccessTy, IsWrite, DepId, ASId, PSE, in createCheckForAccess() [all …]
|
| H A D | LoopInfo.cpp | 1043 MDNode *llvm::findOptionMDForLoop(const Loop *TheLoop, StringRef Name) { in findOptionMDForLoop() argument 1044 return findOptionMDForLoopID(TheLoop->getLoopID(), Name); in findOptionMDForLoop() 1053 llvm::findStringMetadataForLoop(const Loop *TheLoop, StringRef Name) { in findStringMetadataForLoop() argument 1054 MDNode *MD = findOptionMDForLoop(TheLoop, Name); in findStringMetadataForLoop() 1067 std::optional<bool> llvm::getOptionalBoolLoopAttribute(const Loop *TheLoop, in getOptionalBoolLoopAttribute() argument 1069 MDNode *MD = findOptionMDForLoop(TheLoop, Name); in getOptionalBoolLoopAttribute() 1085 bool llvm::getBooleanLoopAttribute(const Loop *TheLoop, StringRef Name) { in getBooleanLoopAttribute() argument 1086 return getOptionalBoolLoopAttribute(TheLoop, Name).value_or(false); in getBooleanLoopAttribute() 1089 std::optional<int> llvm::getOptionalIntLoopAttribute(const Loop *TheLoop, in getOptionalIntLoopAttribute() argument 1092 findStringMetadataForLoop(TheLoop, Name).value_or(nullptr); in getOptionalIntLoopAttribute() [all …]
|
| H A D | VectorUtils.cpp | 1147 auto &DL = TheLoop->getHeader()->getModule()->getDataLayout(); in collectConstStrideAccesses() 1155 LoopBlocksDFS DFS(TheLoop); in collectConstStrideAccesses() 1178 getPtrStride(PSE, ElementTy, Ptr, TheLoop, Strides, in collectConstStrideAccesses() 1397 if (getPtrStride(PSE, AccessTy, MemberPtr, TheLoop, Strides, in analyzeInterleaving()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.h | 148 if (llvm::hasUnrollTransformation(TheLoop) & TM_Disable) in getInterleave() 156 hasDisableAllTransformsHint(TheLoop)) in getForce() 196 const Loop *TheLoop; variable 249 : TheLoop(L), LI(LI), PSE(PSE), TTI(TTI), TLI(TLI), DT(DT), LAIs(LAIs), in LoopVectorizationLegality() 466 Loop *TheLoop; variable
|
| H A D | LoopVectorize.h | 207 OptimizationRemarkEmitter *ORE, Loop *TheLoop, Instruction *I = nullptr); 213 OptimizationRemarkEmitter *ORE, Loop *TheLoop,
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Analysis/ |
| H A D | IVDescriptors.h | 168 AddReductionVar(PHINode *Phi, RecurKind Kind, Loop *TheLoop, 179 isReductionPHI(PHINode *Phi, Loop *TheLoop, RecurrenceDescriptor &RedDes, 194 isFixedOrderRecurrence(PHINode *Phi, Loop *TheLoop,
|
| H A D | LoopInfo.h | 1328 MDNode *findOptionMDForLoop(const Loop *TheLoop, StringRef Name); 1330 std::optional<bool> getOptionalBoolLoopAttribute(const Loop *TheLoop, 1334 bool getBooleanLoopAttribute(const Loop *TheLoop, StringRef Name); 1337 std::optional<int> getOptionalIntLoopAttribute(const Loop *TheLoop, 1342 int getIntLoopAttribute(const Loop *TheLoop, StringRef Name, int Default = 0); 1349 std::optional<const MDOperand *> findStringMetadataForLoop(const Loop *TheLoop,
|
| H A D | VectorUtils.h | 770 : PSE(PSE), TheLoop(L), DT(DT), LI(LI), LAI(LAI) {} in InterleavedAccessInfo() 838 Loop *TheLoop; variable 914 return LoopAccessInfo::blockNeedsPredication(BB, TheLoop, DT); in isPredicated()
|
| H A D | LoopAccessAnalysis.h | 588 static bool blockNeedsPredication(BasicBlock *BB, Loop *TheLoop, 679 Loop *TheLoop; variable
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 203 static MDNode *createStringMetadata(Loop *TheLoop, StringRef Name, unsigned V) { in createStringMetadata() argument 204 LLVMContext &Context = TheLoop->getHeader()->getContext(); in createStringMetadata() 214 void llvm::addStringMetadataToLoop(Loop *TheLoop, const char *StringMD, in addStringMetadataToLoop() argument 218 MDNode *LoopID = TheLoop->getLoopID(); in addStringMetadataToLoop() 240 MDs.push_back(createStringMetadata(TheLoop, StringMD, V)); in addStringMetadataToLoop() 242 LLVMContext &Context = TheLoop->getHeader()->getContext(); in addStringMetadataToLoop() 246 TheLoop->setLoopID(NewLoopID); in addStringMetadataToLoop() 250 llvm::getOptionalElementCountLoopAttribute(const Loop *TheLoop) { in getOptionalElementCountLoopAttribute() argument 252 getOptionalIntLoopAttribute(TheLoop, "llvm.loop.vectorize.width"); in getOptionalElementCountLoopAttribute() 256 TheLoop, "llvm.loop.vectorize.scalable.enable"); in getOptionalElementCountLoopAttribute() [all …]
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Utils/ |
| H A D | LoopUtils.h | 229 getOptionalElementCountLoopAttribute(const Loop *TheLoop); 305 void addStringMetadataToLoop(Loop *TheLoop, const char *MDString, 506 addRuntimeChecks(Instruction *Loc, Loop *TheLoop,
|
| /openbsd-src/gnu/llvm/llvm/lib/CodeGen/ |
| H A D | HardwareLoops.cpp | 111 OptimizationRemarkEmitter *ORE, Loop *TheLoop, Instruction *I = nullptr) { in reportHWLoopFailure() argument 113 ORE->emit(createHWLoopAnalysis(ORETag, TheLoop, I) << Msg); in reportHWLoopFailure()
|