| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| H A D | LoopVersioningLICM.cpp | 151 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 D | LICM.cpp | 147 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 D | LoopIdiomRecognize.cpp | 150 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 D | SeparateConstOffsetFromGEP.cpp | 462 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 D | MustExecute.cpp | 51 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 D | DependenceAnalysis.cpp | 441 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 D | MustExecute.h | 66 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 D | LoopInfo.h | 100 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 D | MachineLICM.cpp | 133 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 D | PHIElimination.cpp | 658 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 D | MachineTraceMetrics.cpp | 328 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 D | HexagonVectorLoopCarriedReuse.cpp | 189 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 D | HexagonLoopIdiomRecognition.cpp | 132 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 D | LoopUtils.h | 149 TargetLibraryInfo *, TargetTransformInfo *, Loop *CurLoop, 219 const Loop *CurLoop); 347 Loop *CurLoop, MemorySSAUpdater &MSSAU,
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/ |
| H A D | CloneFunction.cpp | 984 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 D | LoopUnrollAndJam.cpp | 775 Loop *CurLoop = LI.getLoopFor((*Blocks.begin())->front().getParent()); in checkDependencies() local 776 unsigned CurLoopDepth = CurLoop->getLoopDepth(); in checkDependencies()
|
| H A D | LoopUtils.cpp | 450 llvm::collectChildrenInLoop(DomTreeNode *N, const Loop *CurLoop) { in collectChildrenInLoop() argument 455 if (CurLoop->contains(BB)) in collectChildrenInLoop()
|
| H A D | ScalarEvolutionExpander.cpp | 771 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 D | InstrProfiling.cpp | 231 Loop &CurLoop, LoopInfo &LI, BlockFrequencyInfo *BFI) in PGOCounterPromoter() argument 232 : LoopToCandidates(LoopToCands), L(CurLoop), LI(LI), BFI(BFI) { in PGOCounterPromoter()
|