Lines Matching refs:PMS
1818 void ModulePass::assignPassManager(PMStack &PMS,
1821 while (!PMS.empty()) {
1822 PassManagerType TopPMType = PMS.top()->getPassManagerType();
1826 PMS.pop(); // Pop children pass managers
1830 assert(!PMS.empty() && "Unable to find appropriate Pass Manager");
1831 PMS.top()->add(this);
1836 void FunctionPass::assignPassManager(PMStack &PMS,
1840 while (!PMS.empty()) {
1841 if (PMS.top()->getPassManagerType() > PMT_FunctionPassManager)
1842 PMS.pop();
1849 if (PMS.top()->getPassManagerType() == PMT_FunctionPassManager) {
1850 FPP = (FPPassManager *)PMS.top();
1852 assert(!PMS.empty() && "Unable to create Function Pass Manager");
1853 PMDataManager *PMD = PMS.top();
1857 FPP->populateInheritedAnalysis(PMS);
1864 // and push new managers into PMS
1865 FPP->assignPassManager(PMS, PMD->getPassManagerType());
1867 // [4] Push new manager into PMS
1868 PMS.push(FPP);
1877 void BasicBlockPass::assignPassManager(PMStack &PMS,
1883 if (!PMS.empty() &&
1884 PMS.top()->getPassManagerType() == PMT_BasicBlockPassManager) {
1885 BBP = (BBPassManager *)PMS.top();
1889 assert(!PMS.empty() && "Unable to create BasicBlock Pass Manager");
1890 PMDataManager *PMD = PMS.top();
1901 // and push new managers into PMS
1902 BBP->assignPassManager(PMS, PreferredType);
1904 // [4] Push new manager into PMS
1905 PMS.push(BBP);