diff options
Diffstat (limited to 'contrib/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp')
-rw-r--r-- | contrib/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/contrib/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp b/contrib/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp index fceb083..d2654fc 100644 --- a/contrib/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp +++ b/contrib/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp @@ -11,12 +11,19 @@ #include "llvm/Support/TargetRegistry.h" using namespace llvm; -Target llvm::TheX86_32Target, llvm::TheX86_64Target; +Target &llvm::getTheX86_32Target() { + static Target TheX86_32Target; + return TheX86_32Target; +} +Target &llvm::getTheX86_64Target() { + static Target TheX86_64Target; + return TheX86_64Target; +} extern "C" void LLVMInitializeX86TargetInfo() { - RegisterTarget<Triple::x86, /*HasJIT=*/true> - X(TheX86_32Target, "x86", "32-bit X86: Pentium-Pro and above"); + RegisterTarget<Triple::x86, /*HasJIT=*/true> X( + getTheX86_32Target(), "x86", "32-bit X86: Pentium-Pro and above"); - RegisterTarget<Triple::x86_64, /*HasJIT=*/true> - Y(TheX86_64Target, "x86-64", "64-bit X86: EM64T and AMD64"); + RegisterTarget<Triple::x86_64, /*HasJIT=*/true> Y( + getTheX86_64Target(), "x86-64", "64-bit X86: EM64T and AMD64"); } |