IpfVarCodeSelector::IpfVarCodeSelector(Cfg &cfg, OpndVector &opnds) : mm(cfg.getMM()), cfg(cfg), opnds(opnds) { opndManager = cfg.getOpndManager(); }
PrologEpilogGenerator::PrologEpilogGenerator(Cfg &cfg) : mm(cfg.getMM()), cfg(cfg), outRegArgs(mm), prologInsts(mm), epilogInsts(mm), allocInsts(mm), saveSpInsts(mm), savePfsInsts(mm), saveUnatInsts(mm), saveGrsInsts(mm), saveFrsInsts(mm), saveBrsInsts(mm), savePrsInsts(mm), saveRpInsts(mm), restRpInsts(mm), restPrsInsts(mm), restBrsInsts(mm), restFrsInsts(mm), restGrsInsts(mm), restUnatInsts(mm), restPfsInsts(mm), restSpInsts(mm), epilogNodes(mm) { opndManager = cfg.getOpndManager(); p0 = opndManager->getP0(); sp = opndManager->getR12(); stackAddr = opndManager->newRegOpnd(OPND_G_REG, DATA_I64, SPILL_REG1); }
QpTree::QpTree(Cfg &cfg) : cfg(cfg), mm(cfg.getMM()), qpMap(mm), slot(0), p0(cfg.getOpndManager()->getP0()) { qpMap.insert( make_pair(p0, new(mm) QpNode(NULL, MAX_QP_MASK)) ); // make root qpNode }
IpfCfgCodeSelector::IpfCfgCodeSelector(Cfg &cfg, NodeVector &nodes, OpndVector &opnds, CompilationInterface &compilationInterface) : mm(cfg.getMM()), cfg(cfg), nodes(nodes), opnds(opnds), compilationInterface(compilationInterface), opndManager(cfg.getOpndManager()) { }