it is target-independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4911
91177308-0d34-0410-b5e6-
96231b3b80d8
virtual unsigned getDataSize() const { return 0; }
- virtual void
+ void
buildReg2RegClassMap(std::map<unsigned,const TargetRegisterClass*>&
Reg2RegClassMap) const
{
virtual void
buildReg2RegClassMap(std::map<unsigned,const TargetRegisterClass*>&
- Reg2RegClassMap) const=0;
+ Reg2RegClassMap) const {
+ for (MRegisterInfo::const_iterator I = const_regclass_begin(),
+ E = const_regclass_end(); I != E; ++I) {
+ I->buildReg2RegClassMap(Reg2RegClassMap);
+ }
+ }
+
};
#endif
MRegisterInfo::NoRegister };
return CallerSaveRegs;
}
-
-void
-X86RegisterInfo::buildReg2RegClassMap
-(std::map<unsigned,
- const TargetRegisterClass*>& Reg2RegClassMap) const
-{
- for (MRegisterInfo::const_iterator I = const_regclass_begin(),
- E = const_regclass_end(); I != E; ++I)
- {
- I->buildReg2RegClassMap(Reg2RegClassMap);
- }
-}
unsigned getNumRegClasses() const;
- void buildReg2RegClassMap(std::map<unsigned,const TargetRegisterClass*>&
- Reg2RegClassMap) const;
-
};
#endif