• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/utils/TableGen/

Lines Matching defs:RegBank

76 void CodeGenSubRegIndex::updateComponents(CodeGenRegBank &RegBank) {
85 CodeGenSubRegIndex *A = RegBank.getSubRegIdx(Comps[0]);
86 CodeGenSubRegIndex *B = RegBank.getSubRegIdx(Comps[1]);
100 IdxParts.push_back(RegBank.getSubRegIdx(Part));
168 void CodeGenRegister::buildObjectGraph(CodeGenRegBank &RegBank) {
177 ExplicitSubRegIndices.push_back(RegBank.getSubRegIdx(SRIs[i]));
178 ExplicitSubRegs.push_back(RegBank.getReg(SRs[i]));
193 CodeGenRegister *Reg = RegBank.getReg(Alias);
255 bool CodeGenRegister::inheritRegUnits(CodeGenRegBank &RegBank) {
267 CodeGenRegister::computeSubRegs(CodeGenRegBank &RegBank) {
295 const SubRegMap &Map = ESR->computeSubRegs(RegBank);
313 const SubRegMap &Map = SR->computeSubRegs(RegBank);
351 const SubRegMap &Map = SR->computeSubRegs(RegBank);
354 SubRegs[RegBank.getCompositeSubRegIndex(Idx, SubReg.first)] = SubReg.second;
434 unsigned Unit = RegBank.newRegUnit(this, AR);
443 RegUnits.set(RegBank.newRegUnit(this));
465 void CodeGenRegister::computeSecondarySubRegs(CodeGenRegBank &RegBank) {
517 CodeGenSubRegIndex *Concat = RegBank.getConcatSubRegIndex(Parts);
546 void CodeGenRegister::computeSuperRegs(CodeGenRegBank &RegBank) {
556 I->second->computeSuperRegs(RegBank);
573 TopoSig = RegBank.getTopoSig(Id);
578 CodeGenRegBank &RegBank) const {
583 SR->addSubRegsPreOrder(OSet, RegBank);
592 unsigned CodeGenRegister::getWeight(const CodeGenRegBank &RegBank) const {
596 Weight += RegBank.getRegUnit(*I).Weight;
741 CodeGenRegisterClass::CodeGenRegisterClass(CodeGenRegBank &RegBank, Record *R)
743 TopoSigs(RegBank.getNumTopoSigs()), EnumValue(-1) {
752 VTs.push_back(getValueTypeByHwMode(Type, RegBank.getHwModes()));
757 const SetTheory::RecVec *Elements = RegBank.getSets().expand(R);
765 const CodeGenRegister *Reg = RegBank.getReg((*Elements)[i]);
775 RegBank.getSets().evaluate(AltOrders->getElement(i), Order, R->getLoc());
779 CodeGenRegister *Reg = RegBank.getReg(Order.back());
791 RSI = RegSizeInfoByHwMode(DI->getDef(), RegBank.getHwModes());
815 CodeGenRegisterClass::CodeGenRegisterClass(CodeGenRegBank &RegBank,
818 TopoSigs(RegBank.getNumTopoSigs()), EnumValue(-1), RSI(Props.RSI),
829 void CodeGenRegisterClass::inheritProperties(CodeGenRegBank &RegBank) {
851 if (contains(RegBank.getReg(Super.Orders[i][j])))
860 unsigned CodeGenRegisterClass::getWeight(const CodeGenRegBank& RegBank) const {
867 return (*Members.begin())->getWeight(RegBank);
944 void CodeGenRegisterClass::computeSubClasses(CodeGenRegBank &RegBank) {
945 auto &RegClasses = RegBank.getRegClasses();
991 RC.inheritProperties(RegBank);
996 CodeGenRegBank &RegBank, const CodeGenSubRegIndex *SubIdx) const {
1006 auto &RegClasses = RegBank.getRegClasses();
1088 void CodeGenRegisterClass::buildRegUnitSet(const CodeGenRegBank &RegBank,
1092 const RegUnit &RU = RegBank.getRegUnit(*UnitI);
1601 CodeGenRegBank &RegBank) {
1602 const auto &Registers = RegBank.getRegisters();
1611 for (auto &RegClass : RegBank.getRegClasses()) {
1661 CodeGenRegBank &RegBank) {
1676 if (!RegBank.getRegUnit(*UnitI).Artificial) {
1677 unsigned UWeight = RegBank.getRegUnit(*UnitI).Weight;
1680 RegBank.increaseRegUnitWeight(*UnitI, UWeight);
1700 if (R->getRegUnits().count() == 1 && R->getWeight(RegBank) == I->Weight) {
1722 CodeGenRegBank &RegBank) {
1736 NormalRegs, NormalUnits, RegBank);
1741 if (Reg->inheritRegUnits(RegBank))
1742 computeUberWeights(UberSets, RegBank);
1745 UberRegSet *UberSet = RegSets[RegBank.getRegIndex(Reg)];
1747 unsigned RegWeight = Reg->getWeight(RegBank);
1757 AdjustUnit = RegBank.newRegUnit(UberSet->Weight - RegWeight);
1763 if (!RegBank.getRegUnit(AdjustUnit).Artificial)
1764 RegBank.increaseRegUnitWeight(AdjustUnit, UberSet->Weight - RegWeight);
1766 computeUberWeights(UberSets, RegBank);