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()
884 bool CodeGenRegisterClass::contains(const CodeGenRegister *Reg) const { in contains()
1228 const CodeGenRegister *SR = P.second; in CodeGenRegBank()
1289 CodeGenRegister *CodeGenRegBank::getReg(Record *Def) { in getReg()
1290 CodeGenRegister *&Reg = Def2Reg[Def]; in getReg()
1311 const CodeGenRegister::Vec *Members, in getOrCreateSubClass()
1385 using RegMap = std::map<const CodeGenRegister*, const CodeGenRegister*>; in computeComposites()
1391 for (const CodeGenRegister &R : Registers) { in computeComposites()
1392 const CodeGenRegister::SubRegMap &SM = R.getSubRegs(); in computeComposites()
1393 for (std::pair<const CodeGenSubRegIndex*, const CodeGenRegister*> P : SM) in computeComposites()
1404 for (std::pair<const CodeGenRegister*, const CodeGenRegister*> P : Img1) { in computeComposites()
1419 for (std::pair<const CodeGenRegister*, const CodeGenRegister*> P : Map1) { in computeComposites()
1444 const CodeGenRegister::SubRegMap &SRM1 = Reg1.getSubRegs(); in computeComposites()
1447 CodeGenRegister *Reg2 = I1.second; in computeComposites()
1451 const CodeGenRegister::SubRegMap &SRM2 = Reg2->getSubRegs(); in computeComposites()
1455 CodeGenRegister *Reg3 = I2.second; in computeComposites()
1631 CodeGenRegister::Vec Regs;
1633 CodeGenRegister::RegUnitList SingularDeterminants;
1660 const CodeGenRegister::Vec &Regs = RegClass.getMembers(); in computeUberSets()
1668 for (const CodeGenRegister *CGR : llvm::drop_begin(Regs)) { in computeUberSets()
1690 for (const CodeGenRegister &Reg : Registers) { in computeUberSets()
1712 const CodeGenRegister *Reg = nullptr; in computeUberWeights()
1762 static bool normalizeWeight(CodeGenRegister *Reg, in normalizeWeight()
1766 CodeGenRegister::RegUnitList &NormalUnits, in normalizeWeight()
1774 const CodeGenRegister::SubRegMap &SRM = Reg->getSubRegs(); in normalizeWeight()
1841 CodeGenRegister::RegUnitList NormalUnits; in computeRegUnitWeights()
2110 CodeGenRegister::RegUnitLaneMaskList in computeRegUnitLaneMasks()
2113 typedef CodeGenRegister::SubRegMap SubRegMap; in computeRegUnitLaneMasks()
2116 CodeGenRegister *SubReg = S.second; in computeRegUnitLaneMasks()
2122 const CodeGenRegister *SubRegister = S.second; in computeRegUnitLaneMasks()
2162 for (const CodeGenRegister *Reg : RC.getMembers()) { in computeDerivedInfo()
2204 const CodeGenRegister::Vec &Memb1 = RC1->getMembers(); in inferCommonSubClass()
2205 const CodeGenRegister::Vec &Memb2 = RC2->getMembers(); in inferCommonSubClass()
2206 CodeGenRegister::Vec Intersection; in inferCommonSubClass()
2234 typedef std::map<const CodeGenSubRegIndex *, CodeGenRegister::Vec, in inferSubClassWithSubReg()
2243 const CodeGenRegister::SubRegMap &SRM = R->getSubRegs(); in inferSubClassWithSubReg()
2284 SmallVector<std::pair<const CodeGenRegister*, in inferMatchingSuperRegClass()
2285 const CodeGenRegister*>, 16> SSPairs; in inferMatchingSuperRegClass()
2300 const CodeGenRegister *Sub = Super->getSubRegs().find(&SubIdx)->second; in inferMatchingSuperRegClass()
2320 CodeGenRegister::Vec SubSetVec; in inferMatchingSuperRegClass()
2396 const CodeGenRegister *Reg = getReg(R); in getRegClassForRegister()
2437 const CodeGenRegister *Reg = getReg(RegRecord); in getMinimalPhysRegClass()
2450 SetVector<const CodeGenRegister*> Set; in computeCoveredRegisters()
2454 CodeGenRegister *Reg = getReg(Regs[i]); in computeCoveredRegisters()
2463 const CodeGenRegister::SuperRegList &SR = Set[i]->getSuperRegs(); in computeCoveredRegisters()
2465 const CodeGenRegister *Super = SR[j]; in computeCoveredRegisters()
2470 const CodeGenRegister::SubRegMap &SRM = Super->getSubRegs(); in computeCoveredRegisters()