using namespace llvm;
-/// MSP430TargetMachineModule - Note that this is used on hosts that
-/// cannot link in a library unless there are references into the
-/// library. In particular, it seems that it is not possible to get
-/// things to work on Win32 without this. Though it is unused, do not
-/// remove it.
-extern "C" int MSP430TargetMachineModule;
-int MSP430TargetMachineModule = 0;
-
-
// Register the targets
extern Target TheMSP430Target;
static RegisterTarget<MSP430TargetMachine>
X(TheMSP430Target, "msp430", "MSP430 [experimental]");
// Force static initialization.
-extern "C" void LLVMInitializeMSP430Target() { }
+extern "C" void LLVMInitializeMSP430Target() {
+ TargetRegistry::RegisterAsmPrinter(TheMSP430Target,
+ &createMSP430CodePrinterPass);
+}
MSP430TargetMachine::MSP430TargetMachine(const Target &T,
const Module &M,
return false;
}
-bool MSP430TargetMachine::addAssemblyEmitter(PassManagerBase &PM,
- CodeGenOpt::Level OptLevel,
- bool Verbose,
- formatted_raw_ostream &Out) {
- // Output assembly language.
- PM.add(createMSP430CodePrinterPass(Out, *this, Verbose));
- return false;
-}
-