Lines Matching refs:CodeGenRegister

161 CodeGenRegister::CodeGenRegister(Record *R, unsigned Enum)  in CodeGenRegister()  function in CodeGenRegister
170 void CodeGenRegister::buildObjectGraph(CodeGenRegBank &RegBank) { in buildObjectGraph()
195 CodeGenRegister *Reg = RegBank.getReg(Alias); in buildObjectGraph()
201 StringRef CodeGenRegister::getName() const { in getName()
210 CodeGenRegister::Vec::const_iterator RegI, RegE;
211 CodeGenRegister::RegUnitList::iterator UnitI, UnitE;
212 static CodeGenRegister::RegUnitList Sentinel;
215 RegUnitIterator(const CodeGenRegister::Vec &Regs) in RegUnitIterator()
235 const CodeGenRegister *getReg() const { in getReg()
258 CodeGenRegister::RegUnitList RegUnitIterator::Sentinel;
264 bool CodeGenRegister::inheritRegUnits(CodeGenRegBank &RegBank) { in inheritRegUnits()
267 CodeGenRegister *SR = SubReg.second; in inheritRegUnits()
275 const CodeGenRegister::SubRegMap &
276 CodeGenRegister::computeSubRegs(CodeGenRegBank &RegBank) { in computeSubRegs()
286 CodeGenRegister *SR = ExplicitSubRegs[i]; in computeSubRegs()
300 SmallPtrSet<CodeGenRegister *, 8> Orphans; in computeSubRegs()
304 for (CodeGenRegister *ESR : ExplicitSubRegs) { in computeSubRegs()
322 CodeGenRegister *SR = SubRegs[Idx]; in computeSubRegs()
359 CodeGenRegister *SR = SubRegs[Idx]; in computeSubRegs()
382 DenseMap<const CodeGenRegister *, CodeGenSubRegIndex *>::iterator Ins = in computeSubRegs()
401 CodeGenRegister *SR = ExplicitSubRegs[i]; in computeSubRegs()
425 CodeGenRegister *SR = ExplicitSubRegs[i]; in computeSubRegs()
439 CodeGenRegister *AR = ExplicitAliases[i]; in computeSubRegs()
476 void CodeGenRegister::computeSecondarySubRegs(CodeGenRegBank &RegBank) { in computeSecondarySubRegs()
479 std::queue<std::pair<CodeGenSubRegIndex *, CodeGenRegister *>> SubRegQueue; in computeSecondarySubRegs()
480 for (std::pair<CodeGenSubRegIndex *, CodeGenRegister *> P : SubRegs) in computeSecondarySubRegs()
488 const CodeGenRegister *SubReg; in computeSecondarySubRegs()
492 const CodeGenRegister::SuperRegList &Leads = SubReg->LeadingSuperRegs; in computeSecondarySubRegs()
494 CodeGenRegister *Cand = const_cast<CodeGenRegister *>(Leads[i]); in computeSecondarySubRegs()
508 for (CodeGenRegister *SubReg : Cand->ExplicitSubRegs) { in computeSecondarySubRegs()
529 std::pair<CodeGenSubRegIndex *, CodeGenRegister *> NewSubReg = in computeSecondarySubRegs()
545 CodeGenRegister *NewSubReg = NewSubRegs[i].second; in computeSecondarySubRegs()
557 void CodeGenRegister::computeSuperRegs(CodeGenRegBank &RegBank) { in computeSuperRegs()
586 void CodeGenRegister::addSubRegsPreOrder( in addSubRegsPreOrder()
587 SetVector<const CodeGenRegister *> &OSet, CodeGenRegBank &RegBank) const { in addSubRegsPreOrder()
590 CodeGenRegister *SR = ExplicitSubRegs[i]; in addSubRegsPreOrder()
600 unsigned CodeGenRegister::getWeight(const CodeGenRegBank &RegBank) const { in getWeight()
754 static void sortAndUniqueRegisters(CodeGenRegister::Vec &M) { in sortAndUniqueRegisters()
784 const CodeGenRegister *Reg = RegBank.getReg((*Elements)[i]); in CodeGenRegisterClass()
798 CodeGenRegister *Reg = RegBank.getReg(Order.back()); in CodeGenRegisterClass()
908 bool CodeGenRegisterClass::contains(const CodeGenRegister *Reg) const { in contains()
1283 const CodeGenRegister *SR = P.second; in CodeGenRegBank()
1344 CodeGenRegister *CodeGenRegBank::getReg(Record *Def) { in getReg()
1345 CodeGenRegister *&Reg = Def2Reg[Def]; in getReg()
1366 const CodeGenRegister::Vec *Members, in getOrCreateSubClass()
1464 using RegMap = std::map<const CodeGenRegister *, const CodeGenRegister *>; in computeComposites()
1470 for (const CodeGenRegister &R : Registers) { in computeComposites()
1471 const CodeGenRegister::SubRegMap &SM = R.getSubRegs(); in computeComposites()
1472 for (std::pair<const CodeGenSubRegIndex *, const CodeGenRegister *> P : SM) in computeComposites()
1483 for (std::pair<const CodeGenRegister *, const CodeGenRegister *> P : Img1) { in computeComposites()
1498 for (std::pair<const CodeGenRegister *, const CodeGenRegister *> P : Map1) { in computeComposites()
1523 const CodeGenRegister::SubRegMap &SRM1 = Reg1.getSubRegs(); in computeComposites()
1526 CodeGenRegister *Reg2 = I1.second; in computeComposites()
1530 const CodeGenRegister::SubRegMap &SRM2 = Reg2->getSubRegs(); in computeComposites()
1534 CodeGenRegister *Reg3 = I2.second; in computeComposites()
1711 CodeGenRegister::Vec Regs;
1713 CodeGenRegister::RegUnitList SingularDeterminants;
1740 const CodeGenRegister::Vec &Regs = RegClass.getMembers(); in computeUberSets()
1748 for (const CodeGenRegister *CGR : llvm::drop_begin(Regs)) { in computeUberSets()
1770 for (const CodeGenRegister &Reg : Registers) { in computeUberSets()
1792 const CodeGenRegister *Reg = nullptr; in computeUberWeights()
1842 static bool normalizeWeight(CodeGenRegister *Reg, in normalizeWeight()
1846 CodeGenRegister::RegUnitList &NormalUnits, in normalizeWeight()
1854 const CodeGenRegister::SubRegMap &SRM = Reg->getSubRegs(); in normalizeWeight()
1919 CodeGenRegister::RegUnitList NormalUnits; in computeRegUnitWeights()
2168 CodeGenRegister::RegUnitLaneMaskList RegUnitLaneMasks( in computeRegUnitLaneMasks()
2171 typedef CodeGenRegister::SubRegMap SubRegMap; in computeRegUnitLaneMasks()
2174 CodeGenRegister *SubReg = S.second; in computeRegUnitLaneMasks()
2180 const CodeGenRegister *SubRegister = S.second; in computeRegUnitLaneMasks()
2220 for (const CodeGenRegister *Reg : RC.getMembers()) { in computeDerivedInfo()
2262 const CodeGenRegister::Vec &Memb1 = RC1->getMembers(); in inferCommonSubClass()
2263 const CodeGenRegister::Vec &Memb2 = RC2->getMembers(); in inferCommonSubClass()
2264 CodeGenRegister::Vec Intersection; in inferCommonSubClass()
2292 typedef std::map<const CodeGenSubRegIndex *, CodeGenRegister::Vec, in inferSubClassWithSubReg()
2301 const CodeGenRegister::SubRegMap &SRM = R->getSubRegs(); in inferSubClassWithSubReg()
2342 DenseMap<const CodeGenRegister *, std::vector<const CodeGenRegister *>> in inferMatchingSuperRegClass()
2358 const CodeGenRegister *Sub = Super->getSubRegs().find(&SubIdx)->second; in inferMatchingSuperRegClass()
2378 CodeGenRegister::Vec SubSetVec; in inferMatchingSuperRegClass()
2379 for (const CodeGenRegister *R : SubRC.getMembers()) { in inferMatchingSuperRegClass()
2382 const std::vector<const CodeGenRegister *> &SuperRegs = It->second; in inferMatchingSuperRegClass()
2457 const CodeGenRegister *Reg = getReg(R); in getRegClassForRegister()
2498 const CodeGenRegister *Reg = getReg(RegRecord); in getMinimalPhysRegClass()
2511 SetVector<const CodeGenRegister *> Set; in computeCoveredRegisters()
2515 CodeGenRegister *Reg = getReg(Regs[i]); in computeCoveredRegisters()
2524 const CodeGenRegister::SuperRegList &SR = Set[i]->getSuperRegs(); in computeCoveredRegisters()
2526 const CodeGenRegister *Super = SR[j]; in computeCoveredRegisters()
2531 const CodeGenRegister::SubRegMap &SRM = Super->getSubRegs(); in computeCoveredRegisters()