Home | History | Annotate | Download | only in TableGen

Lines Matching defs: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 {
155 CodeGenRegister::Set::const_iterator RegI, RegE;
156 CodeGenRegister::RegUnitList::const_iterator UnitI, UnitE;
159 RegUnitIterator(const CodeGenRegister::Set &Regs):
173 const CodeGenRegister *getReg() const { assert(isValid()); return *RegI; }
196 static void mergeRegUnits(CodeGenRegister::RegUnitList &MergedRU,
197 const CodeGenRegister::RegUnitList &RRU) {
198 CodeGenRegister::RegUnitList LRU = MergedRU;
205 static bool hasRegUnit(CodeGenRegister::RegUnitList &RegUnits, unsigned Unit) {
211 bool CodeGenRegister::inheritRegUnits(CodeGenRegBank &RegBank) {
215 CodeGenRegister *SR = I->second;
222 const CodeGenRegister::SubRegMap &
223 CodeGenRegister::computeSubRegs(CodeGenRegBank &RegBank) {
231 CodeGenRegister *SR = ExplicitSubRegs[i];
242 SmallPtrSet<CodeGenRegister*, 8> Orphans;
247 CodeGenRegister *SR = ExplicitSubRegs[i];
265 CodeGenRegister *SR = SubRegs[Idx];
303 CodeGenRegister *SR = SubRegs[Idx];
327 DenseMap<const CodeGenRegister*, CodeGenSubRegIndex*>::iterator Ins =
345 CodeGenRegister *SR = ExplicitSubRegs[i];
364 CodeGenRegister *SR = ExplicitSubRegs[i];
384 CodeGenRegister *AR = ExplicitAliases[i];
421 void CodeGenRegister::computeSecondarySubRegs(CodeGenRegBank &RegBank) {
429 const CodeGenRegister *SubReg = I->second;
430 const CodeGenRegister
432 CodeGenRegister *Cand = const_cast<CodeGenRegister*>(Leads[i]);
470 CodeGenRegister *NewSubReg = NewSubRegs[i].second;
477 CodeGenRegister *NewSubReg = NewSubRegs[i].second;
489 void CodeGenRegister::computeSuperRegs(CodeGenRegBank &RegBank) {
520 CodeGenRegister::addSubRegsPreOrder(SetVector<const CodeGenRegister*> &OSet,
524 CodeGenRegister *SR = ExplicitSubRegs[i];
535 unsigned CodeGenRegister::getWeight(const CodeGenRegBank &RegBank) const {
595 // is only for consumption by CodeGenRegister, it is not added to the
691 const CodeGenRegister *Reg = RegBank.getReg((*Elements)[i]);
703 CodeGenRegister *Reg = RegBank.getReg(Order.back());
736 for (CodeGenRegister::Set::iterator I = Members.begin(), E = Members.end();
766 bool CodeGenRegisterClass::contains(const CodeGenRegister *Reg) const {
773 for (CodeGenRegister::Set::const_iterator I = K.Members->begin(),
807 CodeGenRegister::Less());
1033 CodeGenRegister *CodeGenRegBank::getReg(Record *Def) {
1034 CodeGenRegister *&Reg = Def2Reg[Def];
1037 Reg = new CodeGenRegister(Def, Registers.size() + 1);
1057 const CodeGenRegister::Set *Members,
1130 CodeGenRegister *Reg1 = Registers[i];
1137 const CodeGenRegister::SubRegMap &SRM1 = Reg1->getSubRegs();
1138 for (CodeGenRegister::SubRegMap::const_iterator i1 = SRM1.begin(),
1141 CodeGenRegister *Reg2 = i1->second;
1145 const CodeGenRegister::SubRegMap &SRM2 = Reg2->getSubRegs();
1147 for (CodeGenRegister::SubRegMap::const_iterator i2 = SRM2.begin(),
1150 CodeGenRegister *Reg3 = i2->second;
1234 CodeGenRegister::Set Regs;
1236 CodeGenRegister::RegUnitList SingularDeterminants;
1250 const std::vector<CodeGenRegister*> &Registers = RegBank.getRegisters();
1265 const CodeGenRegister::Set &Regs = RegClass->getMembers();
1273 for (CodeGenRegister::Set::const_iterator I = llvm::next(Regs.begin()),
1296 const CodeGenRegister *Reg = Registers[i];
1317 const CodeGenRegister *Reg = 0;
1338 for (CodeGenRegister::Set::iterator
1349 for (CodeGenRegister::Set::iterator RegI = I->Regs.begin(),
1368 static bool normalizeWeight(CodeGenRegister *Reg,
1372 CodeGenRegister::RegUnitList &NormalUnits,
1378 const CodeGenRegister::SubRegMap &SRM = Reg->getSubRegs();
1379 for (CodeGenRegister::SubRegMap::const_iterator SRI = SRM.begin(),
1444 CodeGenRegister::RegUnitList NormalUnits;
1759 const CodeGenRegister::Set &Memb1 = RC1->getMembers();
1760 const CodeGenRegister::Set &Memb2 = RC2->getMembers();
1761 CodeGenRegister::Set Intersection;
1765 CodeGenRegister::Less());
1791 typedef std::map<CodeGenSubRegIndex*, CodeGenRegister::Set,
1796 for (CodeGenRegister::Set::const_iterator RI = RC->getMembers().begin(),
1798 const CodeGenRegister::SubRegMap &SRM = (*RI)->getSubRegs();
1799 for (CodeGenRegister::SubRegMap::const_iterator I = SRM.begin(),
1834 SmallVector<std::pair<const CodeGenRegister*,
1835 const CodeGenRegister*>, 16> SSPairs;
1850 for (CodeGenRegister::Set::const_iterator RI = RC->getMembers().begin(),
1852 const CodeGenRegister *Super = *RI;
1853 const CodeGenRegister *Sub = Super->getSubRegs().find(SubIdx)->second;
1868 CodeGenRegister::Set SubSet;
1933 const CodeGenRegister *Reg = getReg(R);
1974 SetVector<const CodeGenRegister*> Set;
1978 CodeGenRegister *Reg = getReg(Regs[i]);
1987 const CodeGenRegister::SuperRegList &SR = Set[i]->getSuperRegs();
1989 const CodeGenRegister *Super = SR[j];
1994 const CodeGenRegister::SubRegMap &SRM = Super->getSubRegs();
1995 for (CodeGenRegister::SubRegMap::const_iterator I = SRM.begin(),