Lines Matching refs:RegBank
54 void CodeGenSubRegIndex::updateComponents(CodeGenRegBank &RegBank) {
60 CodeGenSubRegIndex *A = RegBank.getSubRegIdx(Comps[0]);
61 CodeGenSubRegIndex *B = RegBank.getSubRegIdx(Comps[1]);
152 bool CodeGenRegister::inheritRegUnits(CodeGenRegBank &RegBank) {
162 RegUnits.push_back(RegBank.newRegUnit(0));
172 CodeGenRegister::getSubRegs(CodeGenRegBank &RegBank) {
187 CodeGenRegister *SR = RegBank.getReg(SubList[i]);
188 CodeGenSubRegIndex *Idx = RegBank.getSubRegIdx(IdxList[i]);
201 CodeGenRegister *SR = RegBank.getReg(SubList[i]);
202 const SubRegMap &Map = SR->getSubRegs(RegBank);
228 const SubRegMap &Map = SR->getSubRegs(RegBank);
259 CodeGenSubRegIndex *BaseIdx = RegBank.getSubRegIdx(BaseIdxInit->getDef());
269 CodeGenSubRegIndex *Idx = RegBank.getSubRegIdx(IdxInit->getDef());
270 const SubRegMap &R2Subs = R2->getSubRegs(RegBank);
304 const SubRegMap &Map = SR->getSubRegs(RegBank);
308 SubRegs[RegBank.getCompositeSubRegIndex(Idx, SI->first)] = SI->second;
322 RegUnits.push_back(RegBank.newRegUnit(0));
324 inheritRegUnits(RegBank);
330 CodeGenRegBank &RegBank) const {
334 CodeGenSubRegIndex *Idx = RegBank.getSubRegIdx(Indices[i]);
337 SR->addSubRegsPreOrder(OSet, RegBank);
342 unsigned CodeGenRegister::getWeight(const CodeGenRegBank &RegBank) const {
346 Weight += RegBank.getRegUnitWeight(*I);
464 CodeGenRegisterClass::CodeGenRegisterClass(CodeGenRegBank &RegBank, Record *R)
483 const SetTheory::RecVec *Elements = RegBank.getSets().expand(R);
490 Members.insert(RegBank.getReg((*Elements)[i]));
496 RegBank.getSets().evaluate(AltOrders->getElement(i), Order);
500 CodeGenRegister *Reg = RegBank.getReg(Order.back());
557 void CodeGenRegisterClass::inheritProperties(CodeGenRegBank &RegBank) {
577 if (contains(RegBank.getReg(Super.Orders[i][j])))
669 void CodeGenRegisterClass::computeSubClasses(CodeGenRegBank &RegBank) {
670 ArrayRef<CodeGenRegisterClass*> RegClasses = RegBank.getRegClasses();
710 RegClasses[rci]->inheritProperties(RegBank);
948 CodeGenRegBank &RegBank) {
950 const std::vector<CodeGenRegister*> &Registers = RegBank.getRegisters();
959 for (unsigned i = 0, e = RegBank.getRegClasses().size(); i != e; ++i) {
961 CodeGenRegisterClass *RegClass = RegBank.getRegClasses()[i];
1011 CodeGenRegBank &RegBank) {
1026 unsigned UWeight = RegBank.getRegUnitWeight(*UnitI);
1029 RegBank.increaseRegUnitWeight(*UnitI, UWeight);
1043 && (*RegI)->getWeight(RegBank) == I->Weight)
1063 CodeGenRegBank &RegBank) {
1072 normalizeWeight(SRI->second, UberSets, RegSets, NormalUnits, RegBank);
1077 if (Reg->inheritRegUnits(RegBank))
1078 computeUberWeights(UberSets, RegBank);
1081 UberRegSet *UberSet = RegSets[RegBank.getRegIndex(Reg)];
1083 unsigned RegWeight = Reg->getWeight(RegBank);
1093 AdjustUnit = RegBank.newRegUnit(UberSet->Weight - RegWeight);
1099 RegBank.increaseRegUnitWeight(AdjustUnit, UberSet->Weight - RegWeight);
1101 computeUberWeights(UberSets, RegBank);