diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-06-24 20:42:09 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-06-24 20:42:09 +0000 |
commit | f5fa52ed064098be7130aa4ec1236037907ce3fa (patch) | |
tree | f0bc6ab260c9b81009b35730d3f2711ae6f56af2 /lib | |
parent | 8b45456700f1e156b0a14000124f274dfac86f14 (diff) |
- Add MCRegisterInfo registration machinery. Also added x86 registration routines.
- Rename TargetRegisterDesc to MCRegisterDesc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133820 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/X86/TargetDesc/X86TargetDesc.cpp | 10 | ||||
-rw-r--r-- | lib/Target/X86/TargetDesc/X86TargetDesc.h | 6 |
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/Target/X86/TargetDesc/X86TargetDesc.cpp b/lib/Target/X86/TargetDesc/X86TargetDesc.cpp index cf03d48f3c..8d61745f10 100644 --- a/lib/Target/X86/TargetDesc/X86TargetDesc.cpp +++ b/lib/Target/X86/TargetDesc/X86TargetDesc.cpp @@ -13,6 +13,7 @@ #include "X86TargetDesc.h" #include "llvm/MC/MCRegisterInfo.h" +#include "llvm/Target/TargetRegistry.h" #include "X86GenRegisterDesc.inc" using namespace llvm; @@ -21,3 +22,12 @@ MCRegisterInfo *createX86MCRegisterInfo() { InitX86MCRegisterInfo(X); return X; } + +// Force static initialization. +extern "C" void LLVMInitializeX86MCRegInfo() { + RegisterMCRegInfo<MCRegisterInfo> X(TheX86_32Target); + RegisterMCRegInfo<MCRegisterInfo> Y(TheX86_64Target); + + TargetRegistry::RegisterMCRegInfo(TheX86_32Target, createX86MCRegisterInfo); + TargetRegistry::RegisterMCRegInfo(TheX86_64Target, createX86MCRegisterInfo); +} diff --git a/lib/Target/X86/TargetDesc/X86TargetDesc.h b/lib/Target/X86/TargetDesc/X86TargetDesc.h index d08aec773b..d31f301ba3 100644 --- a/lib/Target/X86/TargetDesc/X86TargetDesc.h +++ b/lib/Target/X86/TargetDesc/X86TargetDesc.h @@ -11,6 +11,12 @@ // //===----------------------------------------------------------------------===// +namespace llvm { +class Target; + +extern Target TheX86_32Target, TheX86_64Target; +} // End llvm namespace + // Defines symbolic names for X86 registers. This defines a mapping from // register name to register number. // |