diff options
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. // |