• Home
  • Raw
  • Download

Lines Matching refs:RC

897     CodeGenRegisterClass &RC = *RegClasses[rci - 1];  in computeSubClasses()  local
898 RC.SubClasses.resize(RegClasses.size()); in computeSubClasses()
899 RC.SubClasses.set(RC.EnumValue); in computeSubClasses()
903 if (RC.SubClasses.test(s)) in computeSubClasses()
906 if (!testSubClass(&RC, SubRC)) in computeSubClasses()
910 RC.SubClasses |= SubRC->SubClasses; in computeSubClasses()
914 for (unsigned s = rci - 1; s && testSubClass(&RC, RegClasses[s - 1]); --s) in computeSubClasses()
915 RC.SubClasses.set(s - 1); in computeSubClasses()
1074 void CodeGenRegBank::addToMaps(CodeGenRegisterClass *RC) { in addToMaps() argument
1075 RegClasses.push_back(RC); in addToMaps()
1077 if (Record *Def = RC->getDef()) in addToMaps()
1078 Def2RC.insert(std::make_pair(Def, RC)); in addToMaps()
1082 CodeGenRegisterClass::Key K(*RC); in addToMaps()
1083 Key2RC.insert(std::make_pair(K, RC)); in addToMaps()
1088 CodeGenRegBank::getOrCreateSubClass(const CodeGenRegisterClass *RC, in getOrCreateSubClass() argument
1092 CodeGenRegisterClass::Key K(Members, RC->SpillSize, RC->SpillAlignment); in getOrCreateSubClass()
1104 if (CodeGenRegisterClass *RC = Def2RC[Def]) in getRegClass() local
1105 return RC; in getRegClass()
1652 void CodeGenRegBank::inferCommonSubClass(CodeGenRegisterClass *RC) { in inferCommonSubClass() argument
1654 CodeGenRegisterClass *RC1 = RC; in inferCommonSubClass()
1690 void CodeGenRegBank::inferSubClassWithSubReg(CodeGenRegisterClass *RC) { in inferSubClassWithSubReg() argument
1697 for (CodeGenRegister::Set::const_iterator RI = RC->getMembers().begin(), in inferSubClassWithSubReg()
1698 RE = RC->getMembers().end(); RI != RE; ++RI) { in inferSubClassWithSubReg()
1714 if (I->second.size() == RC->getMembers().size()) { in inferSubClassWithSubReg()
1715 RC->setSubClassWithSubReg(SubIdx, RC); in inferSubClassWithSubReg()
1720 getOrCreateSubClass(RC, &I->second, in inferSubClassWithSubReg()
1721 RC->getName() + "_with_" + I->first->getName()); in inferSubClassWithSubReg()
1722 RC->setSubClassWithSubReg(SubIdx, SubRC); in inferSubClassWithSubReg()
1733 void CodeGenRegBank::inferMatchingSuperRegClass(CodeGenRegisterClass *RC, in inferMatchingSuperRegClass() argument
1745 if (RC->getSubClassWithSubReg(SubIdx) != RC) in inferMatchingSuperRegClass()
1751 for (CodeGenRegister::Set::const_iterator RI = RC->getMembers().begin(), in inferMatchingSuperRegClass()
1752 RE = RC->getMembers().end(); RI != RE; ++RI) { in inferMatchingSuperRegClass()
1777 SubRC->addSuperRegClass(SubIdx, RC); in inferMatchingSuperRegClass()
1782 getOrCreateSubClass(RC, &SubSet, RC->getName() + in inferMatchingSuperRegClass()
1801 CodeGenRegisterClass *RC = RegClasses[rci]; in computeInferredRegisterClasses() local
1804 inferSubClassWithSubReg(RC); in computeInferredRegisterClasses()
1807 inferCommonSubClass(RC); in computeInferredRegisterClasses()
1810 inferMatchingSuperRegClass(RC); in computeInferredRegisterClasses()
1838 const CodeGenRegisterClass &RC = *RCs[i]; in getRegClassForRegister() local
1839 if (!RC.contains(Reg)) in getRegClassForRegister()
1845 FoundRC = &RC; in getRegClassForRegister()
1850 if (RC.getValueTypes() != FoundRC->getValueTypes()) in getRegClassForRegister()
1856 if (RC.hasSubClass(FoundRC)) { in getRegClassForRegister()
1857 FoundRC = &RC; in getRegClassForRegister()
1864 if (FoundRC->hasSubClass(&RC)) in getRegClassForRegister()