Lines Matching refs:CodeGenRegister

153 CodeGenRegister::CodeGenRegister(Record *R, unsigned Enum)  in CodeGenRegister()  function in CodeGenRegister
162 void CodeGenRegister::buildObjectGraph(CodeGenRegBank &RegBank) { in buildObjectGraph()
187 CodeGenRegister *Reg = RegBank.getReg(Alias); in buildObjectGraph()
193 StringRef CodeGenRegister::getName() const { in getName()
202 CodeGenRegister::Vec::const_iterator RegI, RegE;
203 CodeGenRegister::RegUnitList::iterator UnitI, UnitE;
204 static CodeGenRegister::RegUnitList Sentinel;
207 RegUnitIterator(const CodeGenRegister::Vec &Regs): in RegUnitIterator()
224 const CodeGenRegister *getReg() const { assert(isValid()); return *RegI; } in getReg()
244 CodeGenRegister::RegUnitList RegUnitIterator::Sentinel;
249 static bool hasRegUnit(CodeGenRegister::RegUnitList &RegUnits, unsigned Unit) { in hasRegUnit()
255 bool CodeGenRegister::inheritRegUnits(CodeGenRegBank &RegBank) { in inheritRegUnits()
258 CodeGenRegister *SR = SubReg.second; in inheritRegUnits()
266 const CodeGenRegister::SubRegMap &
267 CodeGenRegister::computeSubRegs(CodeGenRegBank &RegBank) { in computeSubRegs()
277 CodeGenRegister *SR = ExplicitSubRegs[i]; in computeSubRegs()
290 SmallPtrSet<CodeGenRegister*, 8> Orphans; in computeSubRegs()
294 for (CodeGenRegister *ESR : ExplicitSubRegs) { in computeSubRegs()
312 CodeGenRegister *SR = SubRegs[Idx]; in computeSubRegs()
349 CodeGenRegister *SR = SubRegs[Idx]; in computeSubRegs()
371 DenseMap<const CodeGenRegister*, CodeGenSubRegIndex*>::iterator Ins = in computeSubRegs()
389 CodeGenRegister *SR = ExplicitSubRegs[i]; in computeSubRegs()
413 CodeGenRegister *SR = ExplicitSubRegs[i]; in computeSubRegs()
427 CodeGenRegister *AR = ExplicitAliases[i]; in computeSubRegs()
464 void CodeGenRegister::computeSecondarySubRegs(CodeGenRegBank &RegBank) { in computeSecondarySubRegs()
467 std::queue<std::pair<CodeGenSubRegIndex*,CodeGenRegister*>> SubRegQueue; in computeSecondarySubRegs()
468 for (std::pair<CodeGenSubRegIndex*,CodeGenRegister*> P : SubRegs) in computeSecondarySubRegs()
476 const CodeGenRegister *SubReg; in computeSecondarySubRegs()
480 const CodeGenRegister::SuperRegList &Leads = SubReg->LeadingSuperRegs; in computeSecondarySubRegs()
482 CodeGenRegister *Cand = const_cast<CodeGenRegister*>(Leads[i]); in computeSecondarySubRegs()
496 for (CodeGenRegister *SubReg : Cand->ExplicitSubRegs) { in computeSecondarySubRegs()
516 std::pair<CodeGenSubRegIndex*,CodeGenRegister*> NewSubReg = in computeSecondarySubRegs()
532 CodeGenRegister *NewSubReg = NewSubRegs[i].second; in computeSecondarySubRegs()
544 void CodeGenRegister::computeSuperRegs(CodeGenRegBank &RegBank) { in computeSuperRegs()
574 CodeGenRegister::addSubRegsPreOrder(SetVector<const CodeGenRegister*> &OSet, in addSubRegsPreOrder()
578 CodeGenRegister *SR = ExplicitSubRegs[i]; in addSubRegsPreOrder()
588 unsigned CodeGenRegister::getWeight(const CodeGenRegBank &RegBank) const { in getWeight()
734 static void sortAndUniqueRegisters(CodeGenRegister::Vec &M) { in sortAndUniqueRegisters()
764 const CodeGenRegister *Reg = RegBank.getReg((*Elements)[i]); in CodeGenRegisterClass()
778 CodeGenRegister *Reg = RegBank.getReg(Order.back()); in CodeGenRegisterClass()
888 bool CodeGenRegisterClass::contains(const CodeGenRegister *Reg) const { in contains()
1261 const CodeGenRegister *SR = P.second; in CodeGenRegBank()
1322 CodeGenRegister *CodeGenRegBank::getReg(Record *Def) { in getReg()
1323 CodeGenRegister *&Reg = Def2Reg[Def]; in getReg()
1344 const CodeGenRegister::Vec *Members, in getOrCreateSubClass()
1422 using RegMap = std::map<const CodeGenRegister*, const CodeGenRegister*>; in computeComposites()
1428 for (const CodeGenRegister &R : Registers) { in computeComposites()
1429 const CodeGenRegister::SubRegMap &SM = R.getSubRegs(); in computeComposites()
1430 for (std::pair<const CodeGenSubRegIndex*, const CodeGenRegister*> P : SM) in computeComposites()
1441 for (std::pair<const CodeGenRegister*, const CodeGenRegister*> P : Img1) { in computeComposites()
1456 for (std::pair<const CodeGenRegister*, const CodeGenRegister*> P : Map1) { in computeComposites()
1481 const CodeGenRegister::SubRegMap &SRM1 = Reg1.getSubRegs(); in computeComposites()
1484 CodeGenRegister *Reg2 = I1.second; in computeComposites()
1488 const CodeGenRegister::SubRegMap &SRM2 = Reg2->getSubRegs(); in computeComposites()
1492 CodeGenRegister *Reg3 = I2.second; in computeComposites()
1668 CodeGenRegister::Vec Regs;
1670 CodeGenRegister::RegUnitList SingularDeterminants;
1697 const CodeGenRegister::Vec &Regs = RegClass.getMembers(); in computeUberSets()
1705 for (const CodeGenRegister *CGR : llvm::drop_begin(Regs)) { in computeUberSets()
1727 for (const CodeGenRegister &Reg : Registers) { in computeUberSets()
1748 const CodeGenRegister *Reg = nullptr; in computeUberWeights()
1798 static bool normalizeWeight(CodeGenRegister *Reg, in normalizeWeight()
1802 CodeGenRegister::RegUnitList &NormalUnits, in normalizeWeight()
1810 const CodeGenRegister::SubRegMap &SRM = Reg->getSubRegs(); in normalizeWeight()
1877 CodeGenRegister::RegUnitList NormalUnits; in computeRegUnitWeights()
2146 CodeGenRegister::RegUnitLaneMaskList RegUnitLaneMasks( in computeRegUnitLaneMasks()
2149 typedef CodeGenRegister::SubRegMap SubRegMap; in computeRegUnitLaneMasks()
2152 CodeGenRegister *SubReg = S.second; in computeRegUnitLaneMasks()
2158 const CodeGenRegister *SubRegister = S.second; in computeRegUnitLaneMasks()
2198 for (const CodeGenRegister *Reg : RC.getMembers()) { in computeDerivedInfo()
2240 const CodeGenRegister::Vec &Memb1 = RC1->getMembers(); in inferCommonSubClass()
2241 const CodeGenRegister::Vec &Memb2 = RC2->getMembers(); in inferCommonSubClass()
2242 CodeGenRegister::Vec Intersection; in inferCommonSubClass()
2270 typedef std::map<const CodeGenSubRegIndex *, CodeGenRegister::Vec, in inferSubClassWithSubReg()
2279 const CodeGenRegister::SubRegMap &SRM = R->getSubRegs(); in inferSubClassWithSubReg()
2320 DenseMap<const CodeGenRegister *, std::vector<const CodeGenRegister *>> in inferMatchingSuperRegClass()
2336 const CodeGenRegister *Sub = Super->getSubRegs().find(&SubIdx)->second; in inferMatchingSuperRegClass()
2356 CodeGenRegister::Vec SubSetVec; in inferMatchingSuperRegClass()
2357 for (const CodeGenRegister *R : SubRC.getMembers()) { in inferMatchingSuperRegClass()
2360 const std::vector<const CodeGenRegister *> &SuperRegs = It->second; in inferMatchingSuperRegClass()
2436 const CodeGenRegister *Reg = getReg(R); in getRegClassForRegister()
2477 const CodeGenRegister *Reg = getReg(RegRecord); in getMinimalPhysRegClass()
2490 SetVector<const CodeGenRegister*> Set; in computeCoveredRegisters()
2494 CodeGenRegister *Reg = getReg(Regs[i]); in computeCoveredRegisters()
2503 const CodeGenRegister::SuperRegList &SR = Set[i]->getSuperRegs(); in computeCoveredRegisters()
2505 const CodeGenRegister *Super = SR[j]; in computeCoveredRegisters()
2510 const CodeGenRegister::SubRegMap &SRM = Super->getSubRegs(); in computeCoveredRegisters()