Lines Matching refs:RegBank
73 void CodeGenSubRegIndex::updateComponents(CodeGenRegBank &RegBank) { in updateComponents() argument
82 CodeGenSubRegIndex *A = RegBank.getSubRegIdx(Comps[0]); in updateComponents()
83 CodeGenSubRegIndex *B = RegBank.getSubRegIdx(Comps[1]); in updateComponents()
97 IdxParts.push_back(RegBank.getSubRegIdx(Part)); in updateComponents()
162 void CodeGenRegister::buildObjectGraph(CodeGenRegBank &RegBank) { in buildObjectGraph() argument
171 ExplicitSubRegIndices.push_back(RegBank.getSubRegIdx(SRIs[i])); in buildObjectGraph()
172 ExplicitSubRegs.push_back(RegBank.getReg(SRs[i])); in buildObjectGraph()
187 CodeGenRegister *Reg = RegBank.getReg(Alias); in buildObjectGraph()
255 bool CodeGenRegister::inheritRegUnits(CodeGenRegBank &RegBank) { in inheritRegUnits() argument
267 CodeGenRegister::computeSubRegs(CodeGenRegBank &RegBank) { in computeSubRegs() argument
295 const SubRegMap &Map = ESR->computeSubRegs(RegBank); in computeSubRegs()
313 const SubRegMap &Map = SR->computeSubRegs(RegBank); in computeSubRegs()
350 const SubRegMap &Map = SR->computeSubRegs(RegBank); in computeSubRegs()
353 SubRegs[RegBank.getCompositeSubRegIndex(Idx, SubReg.first)] = SubReg.second; in computeSubRegs()
433 unsigned Unit = RegBank.newRegUnit(this, AR); in computeSubRegs()
442 RegUnits.set(RegBank.newRegUnit(this)); in computeSubRegs()
464 void CodeGenRegister::computeSecondarySubRegs(CodeGenRegBank &RegBank) { in computeSecondarySubRegs() argument
515 CodeGenSubRegIndex *Concat = RegBank.getConcatSubRegIndex(Parts); in computeSecondarySubRegs()
544 void CodeGenRegister::computeSuperRegs(CodeGenRegBank &RegBank) { in computeSuperRegs() argument
553 SubReg.second->computeSuperRegs(RegBank); in computeSuperRegs()
570 TopoSig = RegBank.getTopoSig(Id); in computeSuperRegs()
575 CodeGenRegBank &RegBank) const { in addSubRegsPreOrder()
580 SR->addSubRegsPreOrder(OSet, RegBank); in addSubRegsPreOrder()
588 unsigned CodeGenRegister::getWeight(const CodeGenRegBank &RegBank) const { in getWeight()
591 Weight += RegBank.getRegUnit(RegUnit).Weight; in getWeight()
739 CodeGenRegisterClass::CodeGenRegisterClass(CodeGenRegBank &RegBank, Record *R) in CodeGenRegisterClass() argument
741 TopoSigs(RegBank.getNumTopoSigs()), EnumValue(-1), TSFlags(0) { in CodeGenRegisterClass()
752 VTs.push_back(getValueTypeByHwMode(Type, RegBank.getHwModes())); in CodeGenRegisterClass()
756 const SetTheory::RecVec *Elements = RegBank.getSets().expand(R); in CodeGenRegisterClass()
764 const CodeGenRegister *Reg = RegBank.getReg((*Elements)[i]); in CodeGenRegisterClass()
774 RegBank.getSets().evaluate(AltOrders->getElement(i), Order, R->getLoc()); in CodeGenRegisterClass()
778 CodeGenRegister *Reg = RegBank.getReg(Order.back()); in CodeGenRegisterClass()
790 RSI = RegSizeInfoByHwMode(DI->getDef(), RegBank.getHwModes()); in CodeGenRegisterClass()
820 CodeGenRegisterClass::CodeGenRegisterClass(CodeGenRegBank &RegBank, in CodeGenRegisterClass() argument
823 TopoSigs(RegBank.getNumTopoSigs()), EnumValue(-1), RSI(Props.RSI), in CodeGenRegisterClass()
834 void CodeGenRegisterClass::inheritProperties(CodeGenRegBank &RegBank) { in inheritProperties() argument
860 if (contains(RegBank.getReg(Super.Orders[i][j]))) in inheritProperties()
889 unsigned CodeGenRegisterClass::getWeight(const CodeGenRegBank& RegBank) const { in getWeight()
896 return (*Members.begin())->getWeight(RegBank); in getWeight()
973 void CodeGenRegisterClass::computeSubClasses(CodeGenRegBank &RegBank) { in computeSubClasses() argument
974 auto &RegClasses = RegBank.getRegClasses(); in computeSubClasses()
1020 RC.inheritProperties(RegBank); in computeSubClasses()
1025 CodeGenRegBank &RegBank, const CodeGenSubRegIndex *SubIdx) const { in getMatchingSubClassWithSubRegs() argument
1037 auto &RegClasses = RegBank.getRegClasses(); in getMatchingSubClassWithSubRegs()
1119 void CodeGenRegisterClass::buildRegUnitSet(const CodeGenRegBank &RegBank, in buildRegUnitSet() argument
1123 const RegUnit &RU = RegBank.getRegUnit(*UnitI); in buildRegUnitSet()
1136 CodeGenRegisterCategory::CodeGenRegisterCategory(CodeGenRegBank &RegBank, in CodeGenRegisterCategory() argument
1140 Classes.push_back(RegBank.getRegClass(RegClass)); in CodeGenRegisterCategory()
1646 CodeGenRegBank &RegBank) { in computeUberSets() argument
1647 const auto &Registers = RegBank.getRegisters(); in computeUberSets()
1656 for (auto &RegClass : RegBank.getRegClasses()) { in computeUberSets()
1706 CodeGenRegBank &RegBank) { in computeUberWeights() argument
1721 if (!RegBank.getRegUnit(*UnitI).Artificial) { in computeUberWeights()
1722 unsigned UWeight = RegBank.getRegUnit(*UnitI).Weight; in computeUberWeights()
1725 RegBank.increaseRegUnitWeight(*UnitI, UWeight); in computeUberWeights()
1745 if (R->getRegUnits().count() == 1 && R->getWeight(RegBank) == I->Weight) { in computeUberWeights()
1767 CodeGenRegBank &RegBank) { in normalizeWeight() argument
1780 NormalUnits, RegBank); in normalizeWeight()
1785 if (Reg->inheritRegUnits(RegBank)) in normalizeWeight()
1786 computeUberWeights(UberSets, RegBank); in normalizeWeight()
1789 UberRegSet *UberSet = RegSets[RegBank.getRegIndex(Reg)]; in normalizeWeight()
1791 unsigned RegWeight = Reg->getWeight(RegBank); in normalizeWeight()
1801 AdjustUnit = RegBank.newRegUnit(UberSet->Weight - RegWeight); in normalizeWeight()
1807 if (!RegBank.getRegUnit(AdjustUnit).Artificial) in normalizeWeight()
1808 RegBank.increaseRegUnitWeight(AdjustUnit, UberSet->Weight - RegWeight); in normalizeWeight()
1810 computeUberWeights(UberSets, RegBank); in normalizeWeight()