Lines Matching defs:PMS
1840 void ModulePass::assignPassManager(PMStack &PMS,
1843 while (!PMS.empty()) {
1844 PassManagerType TopPMType = PMS.top()->getPassManagerType();
1848 PMS.pop(); // Pop children pass managers
1852 assert(!PMS.empty() && "Unable to find appropriate Pass Manager");
1853 PMS.top()->add(this);
1858 void FunctionPass::assignPassManager(PMStack &PMS,
1862 while (!PMS.empty()) {
1863 if (PMS.top()->getPassManagerType() > PMT_FunctionPassManager)
1864 PMS.pop();
1871 if (PMS.top()->getPassManagerType() == PMT_FunctionPassManager) {
1872 FPP = (FPPassManager *)PMS.top();
1874 assert(!PMS.empty() && "Unable to create Function Pass Manager");
1875 PMDataManager *PMD = PMS.top();
1879 FPP->populateInheritedAnalysis(PMS);
1886 // and push new managers into PMS
1887 FPP->assignPassManager(PMS, PMD->getPassManagerType());
1889 // [4] Push new manager into PMS
1890 PMS.push(FPP);
1899 void BasicBlockPass::assignPassManager(PMStack &PMS,
1905 if (!PMS.empty() &&
1906 PMS.top()->getPassManagerType() == PMT_BasicBlockPassManager) {
1907 BBP = (BBPassManager *)PMS.top();
1911 assert(!PMS.empty() && "Unable to create BasicBlock Pass Manager");
1912 PMDataManager *PMD = PMS.top();
1923 // and push new managers into PMS
1924 BBP->assignPassManager(PMS, PreferredType);
1926 // [4] Push new manager into PMS
1927 PMS.push(BBP);