diff --git a/include/llvm/Target/MRegisterInfo.h b/include/llvm/Target/MRegisterInfo.h index 143ec2efeca..320d503944f 100644 --- a/include/llvm/Target/MRegisterInfo.h +++ b/include/llvm/Target/MRegisterInfo.h @@ -61,7 +61,7 @@ public: virtual unsigned getDataSize() const { return 0; } - virtual void + void buildReg2RegClassMap(std::map& Reg2RegClassMap) const { @@ -146,7 +146,13 @@ public: virtual void buildReg2RegClassMap(std::map& - Reg2RegClassMap) const=0; + Reg2RegClassMap) const { + for (MRegisterInfo::const_iterator I = const_regclass_begin(), + E = const_regclass_end(); I != E; ++I) { + I->buildReg2RegClassMap(Reg2RegClassMap); + } + } + }; #endif diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp index 8377527aa39..5a89c3a9c33 100644 --- a/lib/Target/X86/X86RegisterInfo.cpp +++ b/lib/Target/X86/X86RegisterInfo.cpp @@ -69,15 +69,3 @@ const unsigned* X86RegisterInfo::getCallerSaveRegs() const { MRegisterInfo::NoRegister }; return CallerSaveRegs; } - -void -X86RegisterInfo::buildReg2RegClassMap -(std::map& Reg2RegClassMap) const -{ - for (MRegisterInfo::const_iterator I = const_regclass_begin(), - E = const_regclass_end(); I != E; ++I) - { - I->buildReg2RegClassMap(Reg2RegClassMap); - } -} diff --git a/lib/Target/X86/X86RegisterInfo.h b/lib/Target/X86/X86RegisterInfo.h index 5487612c924..b132ec20de5 100644 --- a/lib/Target/X86/X86RegisterInfo.h +++ b/lib/Target/X86/X86RegisterInfo.h @@ -43,9 +43,6 @@ struct X86RegisterInfo : public MRegisterInfo { unsigned getNumRegClasses() const; - void buildReg2RegClassMap(std::map& - Reg2RegClassMap) const; - }; #endif