Lines Matching refs:Pass
89 Pass *P, Module &M, int64_t Delta, unsigned CountBefore, in emitInstrCountChangedRemark()
247 class FunctionPassManagerImpl : public Pass,
256 : Pass(PT_PassManager, ID), PMTopLevelManager(new FPPassManager()), in FunctionPassManagerImpl()
260 void add(Pass *P) { in add()
265 Pass *createPrinterPass(raw_ostream &O, in createPrinterPass()
288 Pass *getAsPass() override { return this; } in getAsPass()
383 class MPPassManager : public Pass, public PMDataManager {
386 explicit MPPassManager() : Pass(PT_PassManager, ID) {} in MPPassManager()
397 Pass *createPrinterPass(raw_ostream &O, in createPrinterPass()
406 using llvm::Pass::doInitialization;
407 using llvm::Pass::doFinalization;
417 void addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) override;
422 std::tuple<Pass *, bool> getOnTheFlyPass(Pass *MP, AnalysisID PI,
428 Pass *getAsPass() override { return this; } in getAsPass()
436 MapVector<Pass *, legacy::FunctionPassManagerImpl *>::const_iterator I = in dumpPassStructure()
456 MapVector<Pass *, legacy::FunctionPassManagerImpl *> OnTheFlyManagers;
469 class PassManagerImpl : public Pass,
477 : Pass(PT_PassManager, ID), PMTopLevelManager(new MPPassManager()) {} in PassManagerImpl()
480 void add(Pass *P) { in add()
485 Pass *createPrinterPass(raw_ostream &O, in createPrinterPass()
494 using llvm::Pass::doInitialization;
495 using llvm::Pass::doFinalization;
503 Pass *getAsPass() override { return this; } in getAsPass()
565 PMTopLevelManager::setLastUser(ArrayRef<Pass*> AnalysisPasses, Pass *P) { in setLastUser()
570 for (Pass *AP : AnalysisPasses) { in setLastUser()
584 SmallVector<Pass *, 12> LastUses; in setLastUser()
585 SmallVector<Pass *, 12> LastPMUses; in setLastUser()
587 Pass *AnalysisPass = findAnalysisPass(ID); in setLastUser()
609 for (Pass *L : LastUsedByAP) in setLastUser()
617 void PMTopLevelManager::collectLastUses(SmallVectorImpl<Pass *> &LastUses, in collectLastUses()
618 Pass *P) { in collectLastUses()
627 AnalysisUsage *PMTopLevelManager::findAnalysisUsage(Pass *P) { in findAnalysisUsage()
663 void PMTopLevelManager::schedulePass(Pass *P) { in schedulePass()
691 Pass *AnalysisPass = findAnalysisPass(ID); in schedulePass()
703 Pass *AnalysisPass2 = findAnalysisPass(ID2); in schedulePass()
749 Pass *PP = in schedulePass()
760 Pass *PP = in schedulePass()
771 Pass *PMTopLevelManager::findAnalysisPass(AnalysisID AID) { in findAnalysisPass()
774 if (Pass *P = ImmutablePassMap.lookup(AID)) in findAnalysisPass()
779 if (Pass *P = PassManager->findAnalysisPass(AID, false)) in findAnalysisPass()
784 if (Pass *P = IndirectPassManager->findAnalysisPass(AID, false)) in findAnalysisPass()
826 for (ImmutablePass *Pass : ImmutablePasses) in dumpPasses()
827 Pass->dumpPassStructure(0); in dumpPasses()
876 void PMDataManager::recordAvailableAnalysis(Pass *P) { in recordAvailableAnalysis()
893 bool PMDataManager::preserveHigherLevelAnalysis(Pass *P) { in preserveHigherLevelAnalysis()
899 for (Pass *P1 : HigherLevelAnalysis) { in preserveHigherLevelAnalysis()
909 void PMDataManager::verifyPreservedAnalysis(Pass *P) { in verifyPreservedAnalysis()
919 if (Pass *AP = findAnalysisPass(AID, true)) { in verifyPreservedAnalysis()
927 void PMDataManager::removeNotPreservedAnalysis(Pass *P) { in removeNotPreservedAnalysis()
933 for (DenseMap<AnalysisID, Pass*>::iterator I = AvailableAnalysis.begin(), in removeNotPreservedAnalysis()
935 DenseMap<AnalysisID, Pass*>::iterator Info = I++; in removeNotPreservedAnalysis()
940 Pass *S = Info->second; in removeNotPreservedAnalysis()
950 for (DenseMap<AnalysisID, Pass *> *IA : InheritedAnalysis) { in removeNotPreservedAnalysis()
954 for (DenseMap<AnalysisID, Pass *>::iterator I = IA->begin(), in removeNotPreservedAnalysis()
957 DenseMap<AnalysisID, Pass *>::iterator Info = I++; in removeNotPreservedAnalysis()
962 Pass *S = Info->second; in removeNotPreservedAnalysis()
973 void PMDataManager::removeDeadPasses(Pass *P, StringRef Msg, in removeDeadPasses()
976 SmallVector<Pass *, 12> DeadPasses; in removeDeadPasses()
990 for (Pass *P : DeadPasses) in removeDeadPasses()
994 void PMDataManager::freePass(Pass *P, StringRef Msg, in freePass()
1014 DenseMap<AnalysisID, Pass *>::iterator Pos = in freePass()
1024 void PMDataManager::add(Pass *P, bool ProcessAnalysis) { in add()
1032 SmallVector<Pass *, 12> TransferLastUses; in add()
1041 SmallVector<Pass *, 12> LastUses; in add()
1042 SmallVector<Pass *, 8> UsedPasses; in add()
1048 for (Pass *PUsed : UsedPasses) { in add()
1074 Pass *My_PM = getAsPass(); in add()
1082 Pass *AnalysisPass = PI->createPass(); in add()
1100 SmallVectorImpl<Pass *> &UP, SmallVectorImpl<AnalysisID> &RP_NotAvail, in collectRequiredAndUsedAnalyses()
1101 Pass *P) { in collectRequiredAndUsedAnalyses()
1105 if (Pass *AnalysisPass = findAnalysisPass(UsedID, true)) in collectRequiredAndUsedAnalyses()
1109 if (Pass *AnalysisPass = findAnalysisPass(RequiredID, true)) in collectRequiredAndUsedAnalyses()
1120 void PMDataManager::initializeAnalysisImpl(Pass *P) { in initializeAnalysisImpl()
1124 Pass *Impl = findAnalysisPass(ID, true); in initializeAnalysisImpl()
1137 Pass *PMDataManager::findAnalysisPass(AnalysisID AID, bool SearchParent) { in findAnalysisPass()
1140 DenseMap<AnalysisID, Pass*>::const_iterator I = AvailableAnalysis.find(AID); in findAnalysisPass()
1153 void PMDataManager::dumpLastUses(Pass *P, unsigned Offset) const{ in dumpLastUses()
1157 SmallVector<Pass *, 12> LUses; in dumpLastUses()
1165 for (Pass *P : LUses) { in dumpLastUses()
1172 for (Pass *P : PassVector) { in dumpPassArguments()
1183 void PMDataManager::dumpPassInfo(Pass *P, enum PassDebuggingString S1, in dumpPassInfo()
1224 void PMDataManager::dumpRequiredSet(const Pass *P) const { in dumpRequiredSet()
1233 void PMDataManager::dumpPreservedSet(const Pass *P) const { in dumpPreservedSet()
1242 void PMDataManager::dumpUsedSet(const Pass *P) const { in dumpUsedSet()
1251 void PMDataManager::dumpAnalysisUsage(StringRef Msg, const Pass *P, in dumpAnalysisUsage()
1275 void PMDataManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) { in addLowerLevelRequiredPass()
1297 std::tuple<Pass *, bool> PMDataManager::getOnTheFlyPass(Pass *P, AnalysisID PI, in getOnTheFlyPass()
1304 for (Pass *P : PassVector) in ~PMDataManager()
1311 Pass *AnalysisResolver::getAnalysisIfAvailable(AnalysisID ID) const { in getAnalysisIfAvailable()
1315 std::tuple<Pass *, bool>
1316 AnalysisResolver::findImplPass(Pass *P, AnalysisID AnalysisPI, Function &F) { in findImplPass()
1340 void FunctionPassManager::add(Pass *P) { in add()
1608 void MPPassManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) { in addLowerLevelRequiredPass()
1627 Pass *FoundPass = nullptr; in addLowerLevelRequiredPass()
1639 SmallVector<Pass *, 1> LU; in addLowerLevelRequiredPass()
1647 std::tuple<Pass *, bool> MPPassManager::getOnTheFlyPass(Pass *MP, AnalysisID PI, in getOnTheFlyPass()
1675 void PassManager::add(Pass *P) { in add()