Home | History | Annotate | Download | only in TableGen

Lines Matching refs:CodeGenRegister

103 //                              CodeGenRegister
106 CodeGenRegister::CodeGenRegister(Record *R, unsigned Enum)
117 void CodeGenRegister::buildObjectGraph(CodeGenRegBank &RegBank) {
142 CodeGenRegister *Reg = RegBank.getReg(Aliases[i]);
148 const std::string &CodeGenRegister::getName() const {
156 CodeGenRegister::Vec::const_iterator RegI, RegE;
157 CodeGenRegister::RegUnitList::iterator UnitI, UnitE;
160 RegUnitIterator(const CodeGenRegister::Vec &Regs):
174 const CodeGenRegister *getReg() const { assert(isValid()); return *RegI; }
196 static bool hasRegUnit(CodeGenRegister::RegUnitList &RegUnits, unsigned Unit) {
202 bool CodeGenRegister::inheritRegUnits(CodeGenRegBank &RegBank) {
206 CodeGenRegister *SR = I->second;
214 const CodeGenRegister::SubRegMap &
215 CodeGenRegister::computeSubRegs(CodeGenRegBank &RegBank) {
225 CodeGenRegister *SR = ExplicitSubRegs[i];
236 SmallPtrSet<CodeGenRegister*, 8> Orphans;
241 CodeGenRegister *SR = ExplicitSubRegs[i];
260 CodeGenRegister *SR = SubRegs[Idx];
298 CodeGenRegister *SR = SubRegs[Idx];
322 DenseMap<const CodeGenRegister*, CodeGenSubRegIndex*>::iterator Ins =
340 CodeGenRegister *SR = ExplicitSubRegs[i];
359 CodeGenRegister *SR = ExplicitSubRegs[i];
373 CodeGenRegister *AR = ExplicitAliases[i];
410 void CodeGenRegister::computeSecondarySubRegs(CodeGenRegBank &RegBank) {
418 const CodeGenRegister *SubReg = I->second;
419 const CodeGenRegister::SuperRegList &Leads = SubReg->LeadingSuperRegs;
421 CodeGenRegister *Cand = const_cast<CodeGenRegister*>(Leads[i]);
459 CodeGenRegister *NewSubReg = NewSubRegs[i].second;
466 CodeGenRegister *NewSubReg = NewSubRegs[i].second;
478 void CodeGenRegister::computeSuperRegs(CodeGenRegBank &RegBank) {
509 CodeGenRegister::addSubRegsPreOrder(SetVector<const CodeGenRegister*> &OSet,
513 CodeGenRegister *SR = ExplicitSubRegs[i];
524 unsigned CodeGenRegister::getWeight(const CodeGenRegBank &RegBank) const {
584 // is only for consumption by CodeGenRegister, it is not added to the
649 static void sortAndUniqueRegisters(CodeGenRegister::Vec &M) {
684 const CodeGenRegister *Reg = RegBank.getReg((*Elements)[i]);
697 CodeGenRegister *Reg = RegBank.getReg(Order.back());
765 bool CodeGenRegisterClass::contains(const CodeGenRegister *Reg) const {
1028 CodeGenRegister *CodeGenRegBank::getReg(Record *Def) {
1029 CodeGenRegister *&Reg = Def2Reg[Def];
1050 const CodeGenRegister::Vec *Members,
1128 const CodeGenRegister::SubRegMap &SRM1 = Reg1.getSubRegs();
1129 for (CodeGenRegister::SubRegMap::const_iterator i1 = SRM1.begin(),
1132 CodeGenRegister *Reg2 = i1->second;
1136 const CodeGenRegister::SubRegMap &SRM2 = Reg2->getSubRegs();
1138 for (CodeGenRegister::SubRegMap::const_iterator i2 = SRM2.begin(),
1141 CodeGenRegister *Reg3 = i2->second;
1299 CodeGenRegister::Vec Regs;
1301 CodeGenRegister::RegUnitList SingularDeterminants;
1328 const CodeGenRegister::Vec &Regs = RegClass.getMembers();
1358 for (const CodeGenRegister &Reg : Registers) {
1380 const CodeGenRegister *Reg = nullptr;
1427 static bool normalizeWeight(CodeGenRegister *Reg,
1431 CodeGenRegister::RegUnitList &NormalUnits,
1438 const CodeGenRegister::SubRegMap &SRM = Reg->getSubRegs();
1439 for (CodeGenRegister::SubRegMap::const_iterator SRI = SRM.begin(),
1504 CodeGenRegister::RegUnitList NormalUnits;
1768 CodeGenRegister::RegUnitLaneMaskList RegUnitLaneMasks(RegUnits.count(), 0);
1770 typedef CodeGenRegister::SubRegMap SubRegMap;
1774 CodeGenRegister *SubReg = S->second;
1780 const CodeGenRegister *SubRegister = S->second;
1819 for (const CodeGenRegister *Reg : RC.getMembers())
1860 const CodeGenRegister::Vec &Memb1 = RC1->getMembers();
1861 const CodeGenRegister::Vec &Memb2 = RC2->getMembers();
1862 CodeGenRegister::Vec Intersection;
1891 typedef std::map<const CodeGenSubRegIndex *, CodeGenRegister::Vec,
1897 const CodeGenRegister::SubRegMap &SRM = R->getSubRegs();
1898 for (CodeGenRegister::SubRegMap::const_iterator I = SRM.begin(),
1935 SmallVector<std::pair<const CodeGenRegister*,
1936 const CodeGenRegister*>, 16> SSPairs;
1951 const CodeGenRegister *Sub = Super->getSubRegs().find(&SubIdx)->second;
1969 CodeGenRegister::Vec SubSetVec;
2044 const CodeGenRegister *Reg = getReg(R);
2083 SetVector<const CodeGenRegister*> Set;
2087 CodeGenRegister *Reg = getReg(Regs[i]);
2096 const CodeGenRegister::SuperRegList &SR = Set[i]->getSuperRegs();
2098 const CodeGenRegister *Super = SR[j];
2103 const CodeGenRegister::SubRegMap &SRM = Super->getSubRegs();
2104 for (CodeGenRegister::SubRegMap::const_iterator I = SRM.begin(),