Home
last modified time | relevance | path

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

/openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DLoopVersioningLICM.cpp151 Loop *CurLoop) in LoopVersioningLICM()
152 : AA(AA), SE(SE), LAIs(LAIs), LI(LI), CurLoop(CurLoop), in LoopVersioningLICM()
174 Loop *CurLoop; member
208 if (!CurLoop->isLoopSimplifyForm()) { in legalLoopStructure()
213 if (!CurLoop->getSubLoops().empty()) { in legalLoopStructure()
218 if (CurLoop->getNumBackEdges() != 1) { in legalLoopStructure()
223 if (!CurLoop->getExitingBlock()) { in legalLoopStructure()
230 if (CurLoop->getExitingBlock() != CurLoop->getLoopLatch()) { in legalLoopStructure()
236 if (CurLoop->isAnnotatedParallel()) { in legalLoopStructure()
241 if (CurLoop->getLoopDepth() > LoopDepthThreshold) { in legalLoopStructure()
[all …]
H A DLICM.cpp147 static bool inSubLoop(BasicBlock *BB, Loop *CurLoop, LoopInfo *LI);
148 static bool isNotUsedOrFreeInLoop(const Instruction &I, const Loop *CurLoop,
152 static void hoist(Instruction &I, const DominatorTree *DT, const Loop *CurLoop,
157 const Loop *CurLoop, ICFLoopSafetyInfo *SafetyInfo,
161 const Loop *CurLoop, const LoopSafetyInfo *SafetyInfo,
165 Loop *CurLoop, Instruction &I,
541 TargetTransformInfo *TTI, Loop *CurLoop, in sinkRegion() argument
548 CurLoop != nullptr && SafetyInfo != nullptr && in sinkRegion()
554 SmallVector<DomTreeNode *, 16> Worklist = collectChildrenInLoop(N, CurLoop); in sinkRegion()
561 if (inSubLoop(BB, CurLoop, LI)) in sinkRegion()
[all …]
H A DLoopIdiomRecognize.cpp150 Loop *CurLoop = nullptr; member in __anone39c1fdc0111::LoopIdiomRecognize
359 CurLoop = L; in runOnLoop()
388 const SCEV *BECount = SE->getBackedgeTakenCount(CurLoop); in runOnCountableLoop()
400 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop()
403 << CurLoop->getHeader()->getParent()->getName() in runOnCountableLoop()
404 << "] Countable Loop %" << CurLoop->getHeader()->getName() in runOnCountableLoop()
410 SafetyInfo.computeLoopSafetyInfo(CurLoop); in runOnCountableLoop()
417 for (auto *BB : CurLoop->getBlocks()) { in runOnCountableLoop()
419 if (LI->getLoopFor(BB) != CurLoop) in runOnCountableLoop()
510 if (!StoreEv || StoreEv->getLoop() != CurLoop || !StoreEv->isAffine()) in isLegalStore()
[all …]
H A DSeparateConstOffsetFromGEP.cpp462 Loop *CurLoop);
1290 GetElementPtrInst *FirstGEP, GetElementPtrInst *SecondGEP, Loop *CurLoop) { in isLegalToSwapOperand() argument
1310 if (CurLoop->isLoopInvariant(FirstOffset)) in isLegalToSwapOperand()
/openbsd-src/gnu/llvm/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 …]
/openbsd-src/gnu/llvm/llvm/include/llvm/Analysis/
H A DMustExecute.h66 void computeBlockColors(const Loop *CurLoop);
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;
153 bool doesNotWriteMemoryBefore(const BasicBlock *BB, const Loop *CurLoop)
158 bool doesNotWriteMemoryBefore(const Instruction &I, const Loop *CurLoop)
H A DLoopInfo.h100 for (const LoopT *CurLoop = ParentLoop; CurLoop; in getLoopDepth() local
101 CurLoop = CurLoop->ParentLoop) in getLoopDepth()
380 const LoopT *CurLoop = static_cast<const LoopT *>(this); in getLoopsInPreorder() local
381 PreOrderLoops.push_back(CurLoop); in getLoopsInPreorder()
382 getInnerLoopsInPreorder(*CurLoop, PreOrderLoops); in getLoopsInPreorder()
387 LoopT *CurLoop = static_cast<LoopT *>(this); in getLoopsInPreorder() local
388 PreOrderLoops.push_back(CurLoop); in getLoopsInPreorder()
389 getInnerLoopsInPreorder(*CurLoop, PreOrderLoops); in getLoopsInPreorder()
/openbsd-src/gnu/llvm/llvm/lib/CodeGen/
H A DMachineLICM.cpp133 MachineLoop *CurLoop; // The current loop we are working on. member in __anon716971650111::MachineLICMBase
318 static bool LoopIsOuterMostWithPredecessor(MachineLoop *CurLoop) { in INITIALIZE_PASS_DEPENDENCY()
320 if (!CurLoop->getLoopPredecessor()) in INITIALIZE_PASS_DEPENDENCY()
323 for (MachineLoop *L = CurLoop->getParentLoop(); L; L = L->getParentLoop()) in INITIALIZE_PASS_DEPENDENCY()
371 CurLoop = Worklist.pop_back_val(); in runOnMachineFunction()
377 if (PreRegAlloc && !LoopIsOuterMostWithPredecessor(CurLoop)) { in runOnMachineFunction()
378 Worklist.append(CurLoop->begin(), CurLoop->end()); in runOnMachineFunction()
382 CurLoop->getExitBlocks(ExitBlocks); in runOnMachineFunction()
389 MachineDomTreeNode *N = DT->getNode(CurLoop->getHeader()); in runOnMachineFunction()
527 for (MachineBasicBlock *BB : CurLoop->getBlocks()) { in HoistRegionPostRA()
[all …]
H A DPHIElimination.cpp658 const MachineLoop *CurLoop = MLI ? MLI->getLoopFor(&MBB) : nullptr; in SplitPHIEdges() local
659 bool IsLoopHeader = CurLoop && &MBB == CurLoop->getHeader(); in SplitPHIEdges()
676 if (IsLoopHeader && PreLoop == CurLoop && !SplitAllCriticalEdges) in SplitPHIEdges()
705 if (!ShouldSplit && CurLoop != PreLoop) { in SplitPHIEdges()
710 if (CurLoop) in SplitPHIEdges()
711 dbgs() << "CurLoop: " << *CurLoop; in SplitPHIEdges()
717 ShouldSplit = PreLoop && !PreLoop->contains(CurLoop); in SplitPHIEdges()
H A DMachineTraceMetrics.cpp328 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTracePred() local
330 if (CurLoop && MBB == CurLoop->getHeader()) in pickTracePred()
356 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTraceSucc() local
361 if (CurLoop && Succ == CurLoop->getHeader()) in pickTraceSucc()
364 if (isExitingLoop(CurLoop, getLoopFor(Succ))) in pickTraceSucc()
/openbsd-src/gnu/llvm/llvm/lib/Target/Hexagon/
H A DHexagonVectorLoopCarriedReuse.cpp189 HexagonVectorLoopCarriedReuse(Loop *L) : CurLoop(L){}; in HexagonVectorLoopCarriedReuse()
196 Loop *CurLoop; member in __anon8472032b0111::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->getHeader()) { 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 __anon61f00f6d0511::PolynomialMultiplyRecognize
930 if (CurLoop->isLoopInvariant(PV.X)) { in scanSelect()
1778 << *CurLoop << '\n'); in recognize()
1784 BasicBlock *LoopB = CurLoop->getHeader(); in recognize()
[all …]
/openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h149 TargetLibraryInfo *, TargetTransformInfo *, Loop *CurLoop,
219 const Loop *CurLoop);
347 Loop *CurLoop, MemorySSAUpdater &MSSAU,
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/
H A DCloneFunction.cpp984 for (Loop *CurLoop : OrigLoop->getLoopsInPreorder()) { in cloneLoopWithPreheader()
985 Loop *&NewLoop = LMap[CurLoop]; in cloneLoopWithPreheader()
990 Loop *OrigParent = CurLoop->getParentLoop(); in cloneLoopWithPreheader()
1000 Loop *CurLoop = LI->getLoopFor(BB); in cloneLoopWithPreheader() local
1001 Loop *&NewLoop = LMap[CurLoop]; in cloneLoopWithPreheader()
1019 Loop *CurLoop = LI->getLoopFor(BB); in cloneLoopWithPreheader() local
1020 if (BB == CurLoop->getHeader()) in cloneLoopWithPreheader()
1021 LMap[CurLoop]->moveToHeader(cast<BasicBlock>(VMap[BB])); in cloneLoopWithPreheader()
H A DLoopUnrollAndJam.cpp775 Loop *CurLoop = LI.getLoopFor((*Blocks.begin())->front().getParent()); in checkDependencies() local
776 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.cpp771 const Loop *CurLoop = I->first; in visitAddExpr() local
785 for (; I != E && I->first == CurLoop; ++I) { in visitAddExpr()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Instrumentation/
H A DInstrProfiling.cpp231 Loop &CurLoop, LoopInfo &LI, BlockFrequencyInfo *BFI) in PGOCounterPromoter() argument
232 : LoopToCandidates(LoopToCands), L(CurLoop), LI(LI), BFI(BFI) { in PGOCounterPromoter()