Home
last modified time | relevance | path

Searched refs:CurLoop (Results 1 – 24 of 24) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopVersioningLICM.cpp121 Loop *CurLoop) in LoopVersioningLICM()
122 : AA(AA), SE(SE), LAIs(LAIs), LI(LI), CurLoop(CurLoop), in LoopVersioningLICM()
144 Loop *CurLoop; member
178 if (!CurLoop->isLoopSimplifyForm()) { in legalLoopStructure()
183 if (!CurLoop->getSubLoops().empty()) { in legalLoopStructure()
188 if (CurLoop->getNumBackEdges() != 1) { in legalLoopStructure()
193 if (!CurLoop->getExitingBlock()) { in legalLoopStructure()
200 if (CurLoop->getExitingBlock() != CurLoop->getLoopLatch()) { in legalLoopStructure()
206 if (CurLoop->isAnnotatedParallel()) { in legalLoopStructure()
211 if (CurLoop->getLoopDepth() > LoopDepthThreshold) { in legalLoopStructure()
[all …]
H A DLoopIdiomRecognize.cpp139 Loop *CurLoop = nullptr; member in __anon360f5f450111::LoopIdiomRecognize
291 CurLoop = L; in runOnLoop()
318 const SCEV *BECount = SE->getBackedgeTakenCount(CurLoop); in runOnCountableLoop()
330 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop()
333 << CurLoop->getHeader()->getParent()->getName() in runOnCountableLoop()
334 << "] Countable Loop %" << CurLoop->getHeader()->getName() in runOnCountableLoop()
340 SafetyInfo.computeLoopSafetyInfo(CurLoop); in runOnCountableLoop()
347 for (auto *BB : CurLoop->getBlocks()) { in runOnCountableLoop()
349 if (LI->getLoopFor(BB) != CurLoop) in runOnCountableLoop()
440 if (!StoreEv || StoreEv->getLoop() != CurLoop || !StoreEv->isAffine()) in isLegalStore()
[all …]
H A DLICM.cpp170 static bool inSubLoop(BasicBlock *BB, Loop *CurLoop, LoopInfo *LI);
171 static bool isNotUsedOrFoldableInLoop(const Instruction &I, const Loop *CurLoop,
175 static void hoist(Instruction &I, const DominatorTree *DT, const Loop *CurLoop,
180 const Loop *CurLoop, ICFLoopSafetyInfo *SafetyInfo,
184 const Loop *CurLoop, const LoopSafetyInfo *SafetyInfo,
188 Loop *CurLoop, Instruction &I,
555 TargetTransformInfo *TTI, Loop *CurLoop, in sinkRegion() argument
562 CurLoop != nullptr && SafetyInfo != nullptr && in sinkRegion()
568 SmallVector<DomTreeNode *, 16> Worklist = collectChildrenInLoop(N, CurLoop); in sinkRegion()
575 if (inSubLoop(BB, CurLoop, LI)) in sinkRegion()
[all …]
H A DSeparateConstOffsetFromGEP.cpp472 Loop *CurLoop);
1300 GetElementPtrInst *FirstGEP, GetElementPtrInst *SecondGEP, Loop *CurLoop) { in isLegalToSwapOperand() argument
1320 if (CurLoop->isLoopInvariant(FirstOffset)) in isLegalToSwapOperand()
H A DSimpleLoopUnswitch.cpp3646 auto *CurLoop = Worklist.pop_back_val(); in unswitchLoop()
3647 if (!PSI->isColdBlock(CurLoop->getHeader(), BFI)) in unswitchLoop()
3649 Worklist.insert(Worklist.end(), CurLoop->getSubLoops().begin(), in unswitchLoop()
3650 CurLoop->getSubLoops().end()); in unswitchLoop()
3645 auto *CurLoop = Worklist.pop_back_val(); unswitchLoop() local
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineLICM.cpp147 bool isExitBlock(MachineLoop *CurLoop, const MachineBasicBlock *MBB) { in isExitBlock() argument
148 if (ExitBlockMap.contains(CurLoop)) in isExitBlock()
149 return is_contained(ExitBlockMap[CurLoop], MBB); in isExitBlock()
152 CurLoop->getExitBlocks(ExitBlocks); in isExitBlock()
153 ExitBlockMap[CurLoop] = ExitBlocks; in isExitBlock()
220 void HoistRegionPostRA(MachineLoop *CurLoop,
223 void HoistPostRA(MachineInstr *MI, unsigned Def, MachineLoop *CurLoop,
229 MachineLoop *CurLoop);
231 void AddToLiveIns(MCRegister Reg, MachineLoop *CurLoop);
233 bool IsLICMCandidate(MachineInstr &I, MachineLoop *CurLoop);
[all …]
H A DPHIElimination.cpp759 const MachineLoop *CurLoop = MLI ? MLI->getLoopFor(&MBB) : nullptr; in SplitPHIEdges() local
760 bool IsLoopHeader = CurLoop && &MBB == CurLoop->getHeader(); in SplitPHIEdges()
777 if (IsLoopHeader && PreLoop == CurLoop && !SplitAllCriticalEdges) in SplitPHIEdges()
806 if (!ShouldSplit && CurLoop != PreLoop) { in SplitPHIEdges()
811 if (CurLoop) in SplitPHIEdges()
812 dbgs() << "CurLoop: " << *CurLoop; in SplitPHIEdges()
818 ShouldSplit = PreLoop && !PreLoop->contains(CurLoop); in SplitPHIEdges()
H A DMachineTraceMetrics.cpp343 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTracePred() local
345 if (CurLoop && MBB == CurLoop->getHeader()) in pickTracePred()
371 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTraceSucc() local
376 if (CurLoop && Succ == CurLoop->getHeader()) in pickTraceSucc()
379 if (isExitingLoop(CurLoop, getLoopFor(Succ))) in pickTraceSucc()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DMustExecute.cpp51 void SimpleLoopSafetyInfo::computeLoopSafetyInfo(const Loop *CurLoop) { in computeLoopSafetyInfo() argument
52 assert(CurLoop != nullptr && "CurLoop can't be null"); in computeLoopSafetyInfo()
53 BasicBlock *Header = CurLoop->getHeader(); in computeLoopSafetyInfo()
60 assert(Header == *CurLoop->getBlocks().begin() && in computeLoopSafetyInfo()
62 for (const BasicBlock *BB : llvm::drop_begin(CurLoop->blocks())) { in computeLoopSafetyInfo()
68 computeBlockColors(CurLoop); in computeLoopSafetyInfo()
79 void ICFLoopSafetyInfo::computeLoopSafetyInfo(const Loop *CurLoop) { in computeLoopSafetyInfo() argument
80 assert(CurLoop != nullptr && "CurLoop can't be null"); in computeLoopSafetyInfo()
85 for (const auto &BB : CurLoop->blocks()) in computeLoopSafetyInfo()
90 computeBlockColors(CurLoop); in computeLoopSafetyInfo()
[all …]
H A DDependenceAnalysis.cpp441 const Loop *CurLoop) { in setPoint() argument
445 AssociatedLoop = CurLoop; in setPoint()
449 const SCEV *CC, const Loop *CurLoop) { in setLine() argument
454 AssociatedLoop = CurLoop; in setLine()
458 const Loop *CurLoop) { in setDistance() argument
463 AssociatedLoop = CurLoop; in setDistance()
1231 const SCEV *DstConst, const Loop *CurLoop, in strongSIVtest() argument
1250 if (const SCEV *UpperBound = collectUpperBound(CurLoop, Delta->getType())) { in strongSIVtest()
1283 NewConstraint.setDistance(SE->getConstant(Distance), CurLoop); in strongSIVtest()
1295 NewConstraint.setDistance(Delta, CurLoop); in strongSIVtest()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopIdiomVectorize.cpp90 Loop *CurLoop = nullptr; member in __anon3a0f451f0111::LoopIdiomVectorize
173 CurLoop = L; in run()
191 << CurLoop->getHeader()->getName() << "\n"); in run()
207 BasicBlock *Header = CurLoop->getHeader(); in recognizeByteCompare()
211 if (CurLoop->getNumBackEdges() != 1 || CurLoop->getNumBlocks() != 2) in recognizeByteCompare()
218 auto LoopBlocks = CurLoop->getBlocks(); in recognizeByteCompare()
247 if (!CurLoop->contains(PN->getIncomingBlock(0))) { in recognizeByteCompare()
267 if (!CurLoop->contains(cast<Instruction>(U))) in recognizeByteCompare()
277 Pred != ICmpInst::Predicate::ICMP_EQ || !CurLoop->contains(WhileBB)) in recognizeByteCompare()
289 WhilePred != ICmpInst::Predicate::ICMP_EQ || !CurLoop->contains(TrueBB)) in recognizeByteCompare()
[all …]
H A DVPlan.h87 Loop *CurLoop = nullptr);
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMustExecute.h66 void computeBlockColors(const Loop *CurLoop);
84 /// loop \p CurLoop is entered.
85 bool allLoopPathsLeadToBlock(const Loop *CurLoop, const BasicBlock *BB,
93 virtual void computeLoopSafetyInfo(const Loop *CurLoop) = 0;
99 const Loop *CurLoop) const = 0;
120 void computeLoopSafetyInfo(const Loop *CurLoop) override;
124 const Loop *CurLoop) const override;
145 void computeLoopSafetyInfo(const Loop *CurLoop) override;
149 const Loop *CurLoop) const override;
152 /// we enter \p BB under assumption that \p CurLoop i
[all...]
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonVectorLoopCarriedReuse.cpp189 HexagonVectorLoopCarriedReuse(Loop *L) : CurLoop(L){}; in HexagonVectorLoopCarriedReuse()
196 Loop *CurLoop; member in __anon00be9b940111::HexagonVectorLoopCarriedReuse
245 if (!CurLoop->getLoopPreheader()) in run()
249 if (!CurLoop->getSubLoops().empty()) in run()
253 if (CurLoop->getNumBlocks() != 1) in run()
527 BasicBlock *LoopPH = CurLoop->getLoopPreheader(); in reuseValue()
575 assert(CurLoop->getSubLoops().empty() && in doVLCR()
577 assert((CurLoop->getNumBlocks() == 1) && in doVLCR()
583 LLVM_DEBUG(dbgs() << "Working on Loop: " << *CurLoop->getHeader() << "\n"); in doVLCR()
615 if (BB != CurLoop in findDepChainFromPHI()
[all...]
H A DHexagonLoopIdiomRecognition.cpp132 bool isLegalStore(Loop *CurLoop, StoreInst *SI);
133 void collectStores(Loop *CurLoop, BasicBlock *BB,
135 bool processCopyingStore(Loop *CurLoop, StoreInst *SI, const SCEV *BECount);
137 bool runOnLoopBlock(Loop *CurLoop, BasicBlock *BB, const SCEV *BECount,
579 : CurLoop(loop), DL(dl), DT(dt), TLI(tli), SE(se) {} in PolynomialMultiplyRecognize()
587 LLVMContext &Ctx = CurLoop->getHeader()->getParent()->getContext(); in getPmpyType()
632 Loop *CurLoop; member in __anona63979960511::PolynomialMultiplyRecognize
924 if (CurLoop->isLoopInvariant(PV.X)) { in scanSelect()
1772 << *CurLoop << '\n'); in recognize()
1778 BasicBlock *LoopB = CurLoop->getHeader(); in recognize()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/
H A DGenericLoopInfo.h85 for (const LoopT *CurLoop = ParentLoop; CurLoop; in getLoopDepth() local
86 CurLoop = CurLoop->ParentLoop) in getLoopDepth()
355 const LoopT *CurLoop = static_cast<const LoopT *>(this); in getInnerLoopsInPreorder()
356 PreOrderLoops.push_back(CurLoop); in getInnerLoopsInPreorder()
357 getInnerLoopsInPreorder(*CurLoop, PreOrderLoops); in getInnerLoopsInPreorder()
362 LoopT *CurLoop = static_cast<LoopT *>(this);
363 PreOrderLoops.push_back(CurLoop); in getLoopsInPreorder()
364 getInnerLoopsInPreorder(*CurLoop, PreOrderLoop in getLoopsInPreorder()
365 const LoopT *CurLoop = static_cast<const LoopT *>(this); getLoopsInPreorder() local
372 LoopT *CurLoop = static_cast<LoopT *>(this); getLoopsInPreorder() local
[all...]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h154 TargetLibraryInfo *, TargetTransformInfo *, Loop *CurLoop,
229 const Loop *CurLoop);
357 Loop *CurLoop, MemorySSAUpdater &MSSAU,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DCloneFunction.cpp1008 for (Loop *CurLoop : OrigLoop->getLoopsInPreorder()) { in cloneLoopWithPreheader()
1009 Loop *&NewLoop = LMap[CurLoop]; in cloneLoopWithPreheader()
1014 Loop *OrigParent = CurLoop->getParentLoop(); in cloneLoopWithPreheader()
1024 Loop *CurLoop = LI->getLoopFor(BB); in cloneLoopWithPreheader() local
1025 Loop *&NewLoop = LMap[CurLoop]; in cloneLoopWithPreheader()
1043 Loop *CurLoop = LI->getLoopFor(BB); in cloneLoopWithPreheader() local
1044 if (BB == CurLoop->getHeader()) in cloneLoopWithPreheader()
1045 LMap[CurLoop]->moveToHeader(cast<BasicBlock>(VMap[BB])); in cloneLoopWithPreheader()
H A DLoopUnrollAndJam.cpp774 Loop *CurLoop = LI.getLoopFor((*Blocks.begin())->front().getParent()); in checkDependencies() local
775 unsigned CurLoopDepth = CurLoop->getLoopDepth(); in checkDependencies()
H A DLoopUtils.cpp450 llvm::collectChildrenInLoop(DomTreeNode *N, const Loop *CurLoop) { in collectChildrenInLoop() argument
455 if (CurLoop->contains(BB)) in collectChildrenInLoop()
H A DScalarEvolutionExpander.cpp520 const Loop *CurLoop = I->first; in visitAddExpr() local
534 for (; I != E && I->first == CurLoop; ++I) { in visitAddExpr()
/freebsd/contrib/llvm-project/llvm/lib/TableGen/
H A DTGParser.h101 ForeachLoop *CurLoop = nullptr; variable
110 : Kind(SK_ForeachLoop), Parent(std::move(Parent)), CurLoop(Loop) {} in TGVarScope()
H A DTGParser.cpp186 if (CurLoop->IterVar) { in getVar()
187 VarInit *IterVar = dyn_cast<VarInit>(CurLoop->IterVar); in getVar()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DInstrProfiling.cpp481 Loop &CurLoop, LoopInfo &LI, BlockFrequencyInfo *BFI) in PGOCounterPromoter() argument
482 : LoopToCandidates(LoopToCands), L(CurLoop), LI(LI), BFI(BFI) { in PGOCounterPromoter()