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()
567 PMTopLevelManager::setLastUser(ArrayRef<Pass*> AnalysisPasses, Pass *P) { in setLastUser()
572 for (Pass *AP : AnalysisPasses) { in setLastUser()
586 SmallVector<Pass *, 12> LastUses; in setLastUser()
587 SmallVector<Pass *, 12> LastPMUses; in setLastUser()
589 Pass *AnalysisPass = findAnalysisPass(ID); in setLastUser()
611 for (Pass *L : LastUsedByAP) in setLastUser()
619 void PMTopLevelManager::collectLastUses(SmallVectorImpl<Pass *> &LastUses, in collectLastUses()
620 Pass *P) { in collectLastUses()
629 AnalysisUsage *PMTopLevelManager::findAnalysisUsage(Pass *P) { in findAnalysisUsage()
665 void PMTopLevelManager::schedulePass(Pass *P) { in schedulePass()
693 Pass *AnalysisPass = findAnalysisPass(ID); in schedulePass()
705 Pass *AnalysisPass2 = findAnalysisPass(ID2); in schedulePass()
751 Pass *PP = in schedulePass()
762 Pass *PP = in schedulePass()
773 Pass *PMTopLevelManager::findAnalysisPass(AnalysisID AID) { in findAnalysisPass()
776 if (Pass *P = ImmutablePassMap.lookup(AID)) in findAnalysisPass()
781 if (Pass *P = PassManager->findAnalysisPass(AID, false)) in findAnalysisPass()
786 if (Pass *P = IndirectPassManager->findAnalysisPass(AID, false)) in findAnalysisPass()
879 void PMDataManager::recordAvailableAnalysis(Pass *P) { in recordAvailableAnalysis()
896 bool PMDataManager::preserveHigherLevelAnalysis(Pass *P) { in preserveHigherLevelAnalysis()
902 for (Pass *P1 : HigherLevelAnalysis) { in preserveHigherLevelAnalysis()
912 void PMDataManager::verifyPreservedAnalysis(Pass *P) { in verifyPreservedAnalysis()
922 if (Pass *AP = findAnalysisPass(AID, true)) { in verifyPreservedAnalysis()
930 void PMDataManager::removeNotPreservedAnalysis(Pass *P) { in removeNotPreservedAnalysis()
936 for (DenseMap<AnalysisID, Pass*>::iterator I = AvailableAnalysis.begin(), in removeNotPreservedAnalysis()
938 DenseMap<AnalysisID, Pass*>::iterator Info = I++; in removeNotPreservedAnalysis()
943 Pass *S = Info->second; in removeNotPreservedAnalysis()
953 for (DenseMap<AnalysisID, Pass *> *IA : InheritedAnalysis) { in removeNotPreservedAnalysis()
957 for (DenseMap<AnalysisID, Pass *>::iterator I = IA->begin(), in removeNotPreservedAnalysis()
960 DenseMap<AnalysisID, Pass *>::iterator Info = I++; in removeNotPreservedAnalysis()
965 Pass *S = Info->second; in removeNotPreservedAnalysis()
976 void PMDataManager::removeDeadPasses(Pass *P, StringRef Msg, in removeDeadPasses()
979 SmallVector<Pass *, 12> DeadPasses; in removeDeadPasses()
993 for (Pass *P : DeadPasses) in removeDeadPasses()
997 void PMDataManager::freePass(Pass *P, StringRef Msg, in freePass()
1017 DenseMap<AnalysisID, Pass *>::iterator Pos = in freePass()
1027 void PMDataManager::add(Pass *P, bool ProcessAnalysis) { in add()
1035 SmallVector<Pass *, 12> TransferLastUses; in add()
1044 SmallVector<Pass *, 12> LastUses; in add()
1045 SmallVector<Pass *, 8> UsedPasses; in add()
1051 for (Pass *PUsed : UsedPasses) { in add()
1077 Pass *My_PM = getAsPass(); in add()
1085 Pass *AnalysisPass = PI->createPass(); in add()
1103 SmallVectorImpl<Pass *> &UP, SmallVectorImpl<AnalysisID> &RP_NotAvail, in collectRequiredAndUsedAnalyses()
1104 Pass *P) { in collectRequiredAndUsedAnalyses()
1108 if (Pass *AnalysisPass = findAnalysisPass(UsedID, true)) in collectRequiredAndUsedAnalyses()
1112 if (Pass *AnalysisPass = findAnalysisPass(RequiredID, true)) in collectRequiredAndUsedAnalyses()
1123 void PMDataManager::initializeAnalysisImpl(Pass *P) { in initializeAnalysisImpl()
1127 Pass *Impl = findAnalysisPass(ID, true); in initializeAnalysisImpl()
1140 Pass *PMDataManager::findAnalysisPass(AnalysisID AID, bool SearchParent) { in findAnalysisPass()
1143 DenseMap<AnalysisID, Pass*>::const_iterator I = AvailableAnalysis.find(AID); in findAnalysisPass()
1156 void PMDataManager::dumpLastUses(Pass *P, unsigned Offset) const{ in dumpLastUses()
1160 SmallVector<Pass *, 12> LUses; in dumpLastUses()
1168 for (Pass *P : LUses) { in dumpLastUses()
1175 for (Pass *P : PassVector) { in dumpPassArguments()
1186 void PMDataManager::dumpPassInfo(Pass *P, enum PassDebuggingString S1, in dumpPassInfo()
1227 void PMDataManager::dumpRequiredSet(const Pass *P) const { in dumpRequiredSet()
1236 void PMDataManager::dumpPreservedSet(const Pass *P) const { in dumpPreservedSet()
1245 void PMDataManager::dumpUsedSet(const Pass *P) const { in dumpUsedSet()
1254 void PMDataManager::dumpAnalysisUsage(StringRef Msg, const Pass *P, in dumpAnalysisUsage()
1278 void PMDataManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) { in addLowerLevelRequiredPass()
1300 std::tuple<Pass *, bool> PMDataManager::getOnTheFlyPass(Pass *P, AnalysisID PI, in getOnTheFlyPass()
1307 for (Pass *P : PassVector) in ~PMDataManager()
1314 Pass *AnalysisResolver::getAnalysisIfAvailable(AnalysisID ID) const { in getAnalysisIfAvailable()
1318 std::tuple<Pass *, bool>
1319 AnalysisResolver::findImplPass(Pass *P, AnalysisID AnalysisPI, Function &F) { in findImplPass()
1343 void FunctionPassManager::add(Pass *P) { in add()
1611 void MPPassManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) { in addLowerLevelRequiredPass()
1630 Pass *FoundPass = nullptr; in addLowerLevelRequiredPass()
1642 SmallVector<Pass *, 1> LU; in addLowerLevelRequiredPass()
1650 std::tuple<Pass *, bool> MPPassManager::getOnTheFlyPass(Pass *MP, AnalysisID PI, in getOnTheFlyPass()
1678 void PassManager::add(Pass *P) { in add()