/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopVersioningLICM.cpp | 121 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 D | LoopIdiomRecognize.cpp | 139 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 D | LICM.cpp | 170 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 D | SeparateConstOffsetFromGEP.cpp | 472 Loop *CurLoop); 1300 GetElementPtrInst *FirstGEP, GetElementPtrInst *SecondGEP, Loop *CurLoop) { in isLegalToSwapOperand() argument 1320 if (CurLoop->isLoopInvariant(FirstOffset)) in isLegalToSwapOperand()
|
H A D | SimpleLoopUnswitch.cpp | 3646 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 D | MachineLICM.cpp | 147 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 D | PHIElimination.cpp | 759 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 D | MachineTraceMetrics.cpp | 343 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 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 …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | LoopIdiomVectorize.cpp | 90 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 D | VPlan.h | 87 Loop *CurLoop = nullptr);
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | MustExecute.h | 66 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 D | HexagonVectorLoopCarriedReuse.cpp | 189 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 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 __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 D | GenericLoopInfo.h | 85 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 D | LoopUtils.h | 154 TargetLibraryInfo *, TargetTransformInfo *, Loop *CurLoop, 229 const Loop *CurLoop); 357 Loop *CurLoop, MemorySSAUpdater &MSSAU,
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | CloneFunction.cpp | 1008 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 D | LoopUnrollAndJam.cpp | 774 Loop *CurLoop = LI.getLoopFor((*Blocks.begin())->front().getParent()); in checkDependencies() local 775 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 | 520 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 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 | 186 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 D | InstrProfiling.cpp | 481 Loop &CurLoop, LoopInfo &LI, BlockFrequencyInfo *BFI) in PGOCounterPromoter() argument 482 : LoopToCandidates(LoopToCands), L(CurLoop), LI(LI), BFI(BFI) { in PGOCounterPromoter()
|