Lines Matching defs:CodeGenRegister
109 /// CodeGenRegister - Represents a register definition.
110 struct CodeGenRegister {
117 typedef std::map<CodeGenSubRegIndex*, CodeGenRegister*,
120 CodeGenRegister(Record *R, unsigned Enum);
125 // graph after all CodeGenRegister objects have been created.
145 void addSubRegsPreOrder(SetVector<const CodeGenRegister*> &OSet,
150 CodeGenSubRegIndex *getSubRegIndex(const CodeGenRegister *Reg) const {
154 typedef std::vector<const CodeGenRegister*> SuperRegList;
167 ArrayRef<CodeGenRegister*> getExplicitAliases() const {
207 // Order CodeGenRegister pointers by EnumValue.
209 bool operator()(const CodeGenRegister *A,
210 const CodeGenRegister *B) const {
217 typedef std::set<const CodeGenRegister*, Less> Set;
226 SmallVector<CodeGenRegister*, 8> ExplicitSubRegs;
229 SmallVector<CodeGenRegister*, 8> ExplicitAliases;
236 DenseMap<const CodeGenRegister*, CodeGenSubRegIndex*> SubReg2Idx;
242 CodeGenRegister::Set Members;
299 bool contains(const CodeGenRegister*) const;
359 const CodeGenRegister::Set &getMembers() const { return Members; }
373 const CodeGenRegister::Set *Members;
382 Key(const CodeGenRegister::Set *M, unsigned S = 0, unsigned A = 0)
416 const CodeGenRegister *Roots[2];
424 ArrayRef<const CodeGenRegister*> getRoots() const {
462 std::vector<CodeGenRegister*> Registers;
463 StringMap<CodeGenRegister*> RegistersByName;
464 DenseMap<Record*, CodeGenRegister*> Def2Reg;
499 const CodeGenRegister::Set *Membs,
552 const std::vector<CodeGenRegister*> &getRegisters() { return Registers; }
553 const StringMap<CodeGenRegister*> &getRegistersByName() {
558 CodeGenRegister *getReg(Record*);
561 unsigned getRegIndex(const CodeGenRegister *Reg) const {
572 // This function is only for use by CodeGenRegister::computeSuperRegs().
580 unsigned newRegUnit(CodeGenRegister *R0, CodeGenRegister *R1 = 0) {