diff options
Diffstat (limited to 'contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp')
-rw-r--r-- | contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp b/contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp index 6a65943..4c1edfa 100644 --- a/contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp +++ b/contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp @@ -12,20 +12,37 @@ #include "llvm/Support/TargetRegistry.h" using namespace llvm; -Target llvm::TheMipsTarget, llvm::TheMipselTarget; -Target llvm::TheMips64Target, llvm::TheMips64elTarget; +Target &llvm::getTheMipsTarget() { + static Target TheMipsTarget; + return TheMipsTarget; +} +Target &llvm::getTheMipselTarget() { + static Target TheMipselTarget; + return TheMipselTarget; +} +Target &llvm::getTheMips64Target() { + static Target TheMips64Target; + return TheMips64Target; +} +Target &llvm::getTheMips64elTarget() { + static Target TheMips64elTarget; + return TheMips64elTarget; +} extern "C" void LLVMInitializeMipsTargetInfo() { RegisterTarget<Triple::mips, - /*HasJIT=*/true> X(TheMipsTarget, "mips", "Mips"); + /*HasJIT=*/true> + X(getTheMipsTarget(), "mips", "Mips"); RegisterTarget<Triple::mipsel, - /*HasJIT=*/true> Y(TheMipselTarget, "mipsel", "Mipsel"); + /*HasJIT=*/true> + Y(getTheMipselTarget(), "mipsel", "Mipsel"); RegisterTarget<Triple::mips64, - /*HasJIT=*/true> A(TheMips64Target, "mips64", "Mips64 [experimental]"); + /*HasJIT=*/true> + A(getTheMips64Target(), "mips64", "Mips64 [experimental]"); RegisterTarget<Triple::mips64el, - /*HasJIT=*/true> B(TheMips64elTarget, - "mips64el", "Mips64el [experimental]"); + /*HasJIT=*/true> + B(getTheMips64elTarget(), "mips64el", "Mips64el [experimental]"); } |