| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopVersioningLICM.cpp | 119 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 D | LoopIdiomRecognize.cpp | 161 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 D | LICM.cpp | 172 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 D | SeparateConstOffsetFromGEP.cpp | 474 Loop *CurLoop); 1361 GetElementPtrInst *FirstGEP, GetElementPtrInst *SecondGEP, Loop *CurLoop) { in isLegalToSwapOperand() argument 1381 if (CurLoop->isLoopInvariant(FirstOffset)) in isLegalToSwapOperand()
|
| H A D | SimpleLoopUnswitch.cpp | 3652 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 D | MustExecute.cpp | 49 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 D | DependenceAnalysis.cpp | 460 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 D | MachineLICM.cpp | 149 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 D | PHIElimination.cpp | 767 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 D | MachineTraceMetrics.cpp | 357 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 D | LoopIdiomVectorize.cpp | 120 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 D | MustExecute.h | 66 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 D | HexagonVectorLoopCarriedReuse.cpp | 177 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 D | HexagonLoopIdiomRecognition.cpp | 125 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 D | GenericLoopInfo.h | 85 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 D | CloneFunction.cpp | 1065 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 D | LoopUnrollAndJam.cpp | 777 Loop *CurLoop = LI.getLoopFor((*Blocks.begin())->front().getParent()); in checkDependencies() local 778 unsigned CurLoopDepth = CurLoop->getLoopDepth(); in checkDependencies()
|
| H A D | LoopUtils.cpp | 452 const Loop *CurLoop) { in collectChildrenInLoop() argument 457 if (CurLoop->contains(BB)) in collectChildrenInLoop()
|
| H A D | ScalarEvolutionExpander.cpp | 530 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 D | LoopUtils.h | 159 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 D | TGParser.h | 101 ForeachLoop *CurLoop = nullptr; variable 110 : Kind(SK_ForeachLoop), Parent(std::move(Parent)), CurLoop(Loop) {} in TGVarScope()
|
| H A D | TGParser.cpp | 188 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 D | InstrProfiling.cpp | 503 Loop &CurLoop, LoopInfo &LI, BlockFrequencyInfo *BFI) in PGOCounterPromoter() argument 504 : LoopToCandidates(LoopToCands), L(CurLoop), LI(LI), BFI(BFI) { in PGOCounterPromoter()
|