Lines Matching refs:CurLoop
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 __anon47960cc60511::PolynomialMultiplyRecognize
930 if (CurLoop->isLoopInvariant(PV.X)) { in scanSelect()
1778 << *CurLoop << '\n'); in recognize()
1784 BasicBlock *LoopB = CurLoop->getHeader(); in recognize()
1787 if (LoopB != CurLoop->getLoopLatch()) in recognize()
1789 BasicBlock *ExitB = CurLoop->getExitBlock(); in recognize()
1792 BasicBlock *EntryB = CurLoop->getLoopPreheader(); in recognize()
1797 const SCEV *CT = SE.getBackedgeTakenCount(CurLoop); in recognize()
1928 bool HexagonLoopIdiomRecognize::isLegalStore(Loop *CurLoop, StoreInst *SI) { in isLegalStore() argument
1945 if (!StoreEv || StoreEv->getLoop() != CurLoop || !StoreEv->isAffine()) in isLegalStore()
1967 if (!LoadEv || LoadEv->getLoop() != CurLoop || !LoadEv->isAffine()) in isLegalStore()
2013 void HexagonLoopIdiomRecognize::collectStores(Loop *CurLoop, BasicBlock *BB, in collectStores() argument
2018 if (isLegalStore(CurLoop, SI)) in collectStores()
2022 bool HexagonLoopIdiomRecognize::processCopyingStore(Loop *CurLoop, in processCopyingStore() argument
2044 BasicBlock *Preheader = CurLoop->getLoopPreheader(); in processCopyingStore()
2086 if (mayLoopAccessLocation(StoreBasePtr, ModRefInfo::ModRef, CurLoop, BECount, in processCopyingStore()
2090 if (mayLoopAccessLocation(StoreBasePtr, ModRefInfo::ModRef, CurLoop, in processCopyingStore()
2105 Function *Func = CurLoop->getHeader()->getParent(); in processCopyingStore()
2116 if (!coverLoop(CurLoop, Insts)) in processCopyingStore()
2121 bool IsNested = CurLoop->getParentLoop() != nullptr; in processCopyingStore()
2133 if (mayLoopAccessLocation(LoadBasePtr, ModRefInfo::Mod, CurLoop, BECount, in processCopyingStore()
2150 CurLoop->getUniqueExitBlocks(ExitBlocks); in processCopyingStore()
2184 BasicBlock *Header = CurLoop->getHeader(); in processCopyingStore()
2367 bool HexagonLoopIdiomRecognize::runOnLoopBlock(Loop *CurLoop, BasicBlock *BB, in runOnLoopBlock() argument
2381 collectStores(CurLoop, BB, Stores); in runOnLoopBlock()
2385 MadeChange |= processCopyingStore(CurLoop, SI, BECount); in runOnLoopBlock()