}
namespace llvm {
- extern Target TheXCoreTarget;
+ Target &getTheXCoreTarget();
}
static MCDisassembler *createXCoreDisassembler(const Target &T,
extern "C" void LLVMInitializeXCoreDisassembler() {
// Register the disassembler.
- TargetRegistry::RegisterMCDisassembler(TheXCoreTarget,
+ TargetRegistry::RegisterMCDisassembler(getTheXCoreTarget(),
createXCoreDisassembler);
}
// Force static initialization.
extern "C" void LLVMInitializeXCoreTargetMC() {
// Register the MC asm info.
- RegisterMCAsmInfoFn X(TheXCoreTarget, createXCoreMCAsmInfo);
+ RegisterMCAsmInfoFn X(getTheXCoreTarget(), createXCoreMCAsmInfo);
// Register the MC codegen info.
- TargetRegistry::registerMCAdjustCodeGenOpts(TheXCoreTarget,
+ TargetRegistry::registerMCAdjustCodeGenOpts(getTheXCoreTarget(),
adjustCodeGenOpts);
// Register the MC instruction info.
- TargetRegistry::RegisterMCInstrInfo(TheXCoreTarget, createXCoreMCInstrInfo);
+ TargetRegistry::RegisterMCInstrInfo(getTheXCoreTarget(),
+ createXCoreMCInstrInfo);
// Register the MC register info.
- TargetRegistry::RegisterMCRegInfo(TheXCoreTarget, createXCoreMCRegisterInfo);
+ TargetRegistry::RegisterMCRegInfo(getTheXCoreTarget(),
+ createXCoreMCRegisterInfo);
// Register the MC subtarget info.
- TargetRegistry::RegisterMCSubtargetInfo(TheXCoreTarget,
+ TargetRegistry::RegisterMCSubtargetInfo(getTheXCoreTarget(),
createXCoreMCSubtargetInfo);
// Register the MCInstPrinter
- TargetRegistry::RegisterMCInstPrinter(TheXCoreTarget,
+ TargetRegistry::RegisterMCInstPrinter(getTheXCoreTarget(),
createXCoreMCInstPrinter);
- TargetRegistry::RegisterAsmTargetStreamer(TheXCoreTarget,
+ TargetRegistry::RegisterAsmTargetStreamer(getTheXCoreTarget(),
createTargetAsmStreamer);
}
#include "llvm/Support/TargetRegistry.h"
using namespace llvm;
-Target llvm::TheXCoreTarget;
+Target &llvm::getTheXCoreTarget() {
+ static Target TheXCoreTarget;
+ return TheXCoreTarget;
+}
extern "C" void LLVMInitializeXCoreTargetInfo() {
- RegisterTarget<Triple::xcore> X(TheXCoreTarget, "xcore", "XCore");
+ RegisterTarget<Triple::xcore> X(getTheXCoreTarget(), "xcore", "XCore");
}