Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopVersioningLICM.cpp119 Loop *CurLoop) in LoopVersioningLICM()
120 : AA(AA), SE(SE), LAIs(LAIs), LI(LI), CurLoop(CurLoop), in LoopVersioningLICM()
142 Loop *CurLoop; member
175 if (!CurLoop->isLoopSimplifyForm()) { in legalLoopStructure()
180 if (!CurLoop->getSubLoops().empty()) { in legalLoopStructure()
185 if (CurLoop->getNumBackEdges() != 1) { in legalLoopStructure()
190 if (!CurLoop->getExitingBlock()) { in legalLoopStructure()
197 if (CurLoop->getExitingBlock() != CurLoop->getLoopLatch()) { in legalLoopStructure()
203 if (CurLoop->isAnnotatedParallel()) { in legalLoopStructure()
208 if (CurLoop->getLoopDepth() > LoopDepthThreshold) { in legalLoopStructure()
[all …]
H A DLoopIdiomRecognize.cpp161 Loop *CurLoop = nullptr; member in __anon360f5f450111::LoopIdiomRecognize
314 CurLoop = L; in runOnLoop()
347 const SCEV *BECount = SE->getBackedgeTakenCount(CurLoop); in runOnCountableLoop()
358 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop()
361 << CurLoop->getHeader()->getParent()->getName() in runOnCountableLoop()
362 << "] Countable Loop %" << CurLoop->getHeader()->getName() in runOnCountableLoop()
368 SafetyInfo.computeLoopSafetyInfo(CurLoop); in runOnCountableLoop()
375 for (auto *BB : CurLoop->getBlocks()) { in runOnCountableLoop()
377 if (LI->getLoopFor(BB) != CurLoop) in runOnCountableLoop()
469 m_SpecificLoop(CurLoop)))) in isLegalStore()
[all …]
H A DLICM.cpp172 static bool inSubLoop(BasicBlock *BB, Loop *CurLoop, LoopInfo *LI);
173 static bool isNotUsedOrFoldableInLoop(const Instruction &I, const Loop *CurLoop,
177 static void hoist(Instruction &I, const DominatorTree *DT, const Loop *CurLoop,
182 const Loop *CurLoop, ICFLoopSafetyInfo *SafetyInfo,
186 const Loop *CurLoop, const LoopSafetyInfo *SafetyInfo,
190 AAResults *AA, Loop *CurLoop,
193 Loop *CurLoop, Instruction &I,
558 TargetTransformInfo *TTI, Loop *CurLoop, in sinkRegion() argument
565 CurLoop != nullptr && SafetyInfo != nullptr && in sinkRegion()
572 collectChildrenInLoop(DT, N, CurLoop); in sinkRegion()
[all …]
H A DSeparateConstOffsetFromGEP.cpp474 Loop *CurLoop);
1361 GetElementPtrInst *FirstGEP, GetElementPtrInst *SecondGEP, Loop *CurLoop) { in isLegalToSwapOperand() argument
1381 if (CurLoop->isLoopInvariant(FirstOffset)) in isLegalToSwapOperand()
H A DSimpleLoopUnswitch.cpp3652 auto *CurLoop = Worklist.pop_back_val(); in unswitchLoop() local
3653 if (!PSI->isColdBlock(CurLoop->getHeader(), BFI)) in unswitchLoop()
3655 llvm::append_range(Worklist, CurLoop->getSubLoops()); in unswitchLoop()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DMustExecute.cpp49 void SimpleLoopSafetyInfo::computeLoopSafetyInfo(const Loop *CurLoop) { in computeLoopSafetyInfo() argument
50 assert(CurLoop != nullptr && "CurLoop can't be null"); in computeLoopSafetyInfo()
51 BasicBlock *Header = CurLoop->getHeader(); in computeLoopSafetyInfo()
58 assert(Header == *CurLoop->getBlocks().begin() && in computeLoopSafetyInfo()
60 for (const BasicBlock *BB : llvm::drop_begin(CurLoop->blocks())) { in computeLoopSafetyInfo()
66 computeBlockColors(CurLoop); in computeLoopSafetyInfo()
77 void ICFLoopSafetyInfo::computeLoopSafetyInfo(const Loop *CurLoop) { in computeLoopSafetyInfo() argument
78 assert(CurLoop != nullptr && "CurLoop can't be null"); in computeLoopSafetyInfo()
83 for (const auto &BB : CurLoop->blocks()) in computeLoopSafetyInfo()
88 computeBlockColors(CurLoop); in computeLoopSafetyInfo()
[all …]
H A DDependenceAnalysis.cpp460 const Loop *CurLoop) { in setPoint() argument
464 AssociatedLoop = CurLoop; in setPoint()
468 const SCEV *CC, const Loop *CurLoop) { in setLine() argument
473 AssociatedLoop = CurLoop; in setLine()
477 const Loop *CurLoop) { in setDistance() argument
482 AssociatedLoop = CurLoop; in setDistance()
1250 const SCEV *DstConst, const Loop *CurLoop, in strongSIVtest() argument
1269 if (const SCEV *UpperBound = collectUpperBound(CurLoop, Delta->getType())) { in strongSIVtest()
1302 NewConstraint.setDistance(SE->getConstant(Distance), CurLoop); in strongSIVtest()
1314 NewConstraint.setDistance(Delta, CurLoop); in strongSIVtest()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineLICM.cpp149 bool isExitBlock(MachineLoop *CurLoop, const MachineBasicBlock *MBB) { in isExitBlock() argument
150 auto [It, Inserted] = ExitBlockMap.try_emplace(CurLoop); in isExitBlock()
153 CurLoop->getExitBlocks(ExitBlocks); in isExitBlock()
217 void HoistRegionPostRA(MachineLoop *CurLoop);
219 void HoistPostRA(MachineInstr *MI, Register Def, MachineLoop *CurLoop);
224 MachineLoop *CurLoop);
226 void AddToLiveIns(MCRegister Reg, MachineLoop *CurLoop);
228 bool IsLICMCandidate(MachineInstr &I, MachineLoop *CurLoop);
230 bool IsLoopInvariantInst(MachineInstr &I, MachineLoop *CurLoop);
232 bool HasLoopPHIUse(const MachineInstr *MI, MachineLoop *CurLoop);
[all …]
H A DPHIElimination.cpp767 const MachineLoop *CurLoop = MLI ? MLI->getLoopFor(&MBB) : nullptr; in SplitPHIEdges() local
768 bool IsLoopHeader = CurLoop && &MBB == CurLoop->getHeader(); in SplitPHIEdges()
785 if (IsLoopHeader && PreLoop == CurLoop && !SplitAllCriticalEdges) in SplitPHIEdges()
814 if (!ShouldSplit && CurLoop != PreLoop) { in SplitPHIEdges()
819 if (CurLoop) in SplitPHIEdges()
820 dbgs() << "CurLoop: " << *CurLoop; in SplitPHIEdges()
826 ShouldSplit = PreLoop && !PreLoop->contains(CurLoop); in SplitPHIEdges()
H A DMachineTraceMetrics.cpp357 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTracePred() local
359 if (CurLoop && MBB == CurLoop->getHeader()) in pickTracePred()
385 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTraceSucc() local
390 if (CurLoop && Succ == CurLoop->getHeader()) in pickTraceSucc()
393 if (isExitingLoop(CurLoop, getLoopFor(Succ))) in pickTraceSucc()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopIdiomVectorize.cpp120 Loop *CurLoop = nullptr; member in __anon3a0f451f0111::LoopIdiomVectorize
216 CurLoop = L; in run()
234 << CurLoop->getHeader()->getName() << "\n"); in run()
256 BasicBlock *Header = CurLoop->getHeader(); in recognizeByteCompare()
260 if (CurLoop->getNumBackEdges() != 1 || CurLoop->getNumBlocks() != 2) in recognizeByteCompare()
267 auto LoopBlocks = CurLoop->getBlocks(); in recognizeByteCompare()
296 if (!CurLoop->contains(PN->getIncomingBlock(0))) { in recognizeByteCompare()
316 if (!CurLoop->contains(cast<Instruction>(U))) in recognizeByteCompare()
326 !CurLoop->contains(WhileBB)) in recognizeByteCompare()
338 !CurLoop->contains(TrueBB)) in recognizeByteCompare()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMustExecute.h66 LLVM_ABI void computeBlockColors(const Loop *CurLoop);
85 LLVM_ABI bool allLoopPathsLeadToBlock(const Loop *CurLoop,
94 virtual void computeLoopSafetyInfo(const Loop *CurLoop) = 0;
100 const Loop *CurLoop) const = 0;
121 void computeLoopSafetyInfo(const Loop *CurLoop) override;
125 const Loop *CurLoop) const override;
146 void computeLoopSafetyInfo(const Loop *CurLoop) override;
150 const Loop *CurLoop) const override;
154 bool doesNotWriteMemoryBefore(const BasicBlock *BB, const Loop *CurLoop)
159 bool doesNotWriteMemoryBefore(const Instruction &I, const Loop *CurLoop)
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonVectorLoopCarriedReuse.cpp177 HexagonVectorLoopCarriedReuse(Loop *L) : CurLoop(L){}; in HexagonVectorLoopCarriedReuse()
184 Loop *CurLoop; member in __anon00be9b940111::HexagonVectorLoopCarriedReuse
233 if (!CurLoop->getLoopPreheader()) in run()
237 if (!CurLoop->getSubLoops().empty()) in run()
241 if (CurLoop->getNumBlocks() != 1) in run()
515 BasicBlock *LoopPH = CurLoop->getLoopPreheader(); in reuseValue()
562 assert(CurLoop->getSubLoops().empty() && in doVLCR()
564 assert((CurLoop->getNumBlocks() == 1) && in doVLCR()
570 LLVM_DEBUG(dbgs() << "Working on Loop: " << *CurLoop->getHeader() << "\n"); in doVLCR()
602 if (BB != CurLoop->getHeader()) { in findDepChainFromPHI()
[all …]
H A DHexagonLoopIdiomRecognition.cpp125 bool isLegalStore(Loop *CurLoop, StoreInst *SI);
126 void collectStores(Loop *CurLoop, BasicBlock *BB,
128 bool processCopyingStore(Loop *CurLoop, StoreInst *SI, const SCEV *BECount);
130 bool runOnLoopBlock(Loop *CurLoop, BasicBlock *BB, const SCEV *BECount,
569 : CurLoop(loop), DL(dl), DT(dt), TLI(tli), SE(se) {} in PolynomialMultiplyRecognize()
577 LLVMContext &Ctx = CurLoop->getHeader()->getParent()->getContext(); in getPmpyType()
622 Loop *CurLoop; member in __anona63979960511::PolynomialMultiplyRecognize
914 if (CurLoop->isLoopInvariant(PV.X)) { in scanSelect()
1758 << *CurLoop << '\n'); in recognize()
1764 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()
359 const LoopT *CurLoop = static_cast<const LoopT *>(this); in getLoopsInPreorder() local
360 PreOrderLoops.push_back(CurLoop); in getLoopsInPreorder()
361 getInnerLoopsInPreorder(*CurLoop, PreOrderLoops); in getLoopsInPreorder()
366 LoopT *CurLoop = static_cast<LoopT *>(this); in getLoopsInPreorder() local
367 PreOrderLoops.push_back(CurLoop); in getLoopsInPreorder()
368 getInnerLoopsInPreorder(*CurLoop, PreOrderLoops); in getLoopsInPreorder()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DCloneFunction.cpp1065 for (Loop *CurLoop : OrigLoop->getLoopsInPreorder()) { in cloneLoopWithPreheader()
1066 Loop *&NewLoop = LMap[CurLoop]; in cloneLoopWithPreheader()
1071 Loop *OrigParent = CurLoop->getParentLoop(); in cloneLoopWithPreheader()
1081 Loop *CurLoop = LI->getLoopFor(BB); in cloneLoopWithPreheader() local
1082 Loop *&NewLoop = LMap[CurLoop]; in cloneLoopWithPreheader()
1100 Loop *CurLoop = LI->getLoopFor(BB); in cloneLoopWithPreheader() local
1101 if (BB == CurLoop->getHeader()) in cloneLoopWithPreheader()
1102 LMap[CurLoop]->moveToHeader(cast<BasicBlock>(VMap[BB])); in cloneLoopWithPreheader()
H A DLoopUnrollAndJam.cpp777 Loop *CurLoop = LI.getLoopFor((*Blocks.begin())->front().getParent()); in checkDependencies() local
778 unsigned CurLoopDepth = CurLoop->getLoopDepth(); in checkDependencies()
H A DLoopUtils.cpp452 const Loop *CurLoop) { in collectChildrenInLoop() argument
457 if (CurLoop->contains(BB)) in collectChildrenInLoop()
H A DScalarEvolutionExpander.cpp530 const Loop *CurLoop = I->first; in visitAddExpr() local
544 for (; I != E && I->first == CurLoop; ++I) { in visitAddExpr()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h159 TargetTransformInfo *, Loop *CurLoop,
236 collectChildrenInLoop(DominatorTree *DT, DomTreeNode *N, const Loop *CurLoop);
364 DominatorTree *DT, Loop *CurLoop,
/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.cpp188 if (CurLoop->IterVar) { in getVar()
189 const auto *IterVar = dyn_cast<VarInit>(CurLoop->IterVar); in getVar()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DInstrProfiling.cpp503 Loop &CurLoop, LoopInfo &LI, BlockFrequencyInfo *BFI) in PGOCounterPromoter() argument
504 : LoopToCandidates(LoopToCands), L(CurLoop), LI(LI), BFI(BFI) { in PGOCounterPromoter()