Remove old style hacks to register AsmPrinter into TargetMachine.
[oota-llvm.git] / lib / Target / Mips / MipsTargetMachine.cpp
index 3c2693bf16d42a810f02906e02eefd370ba6aa4e..28c155bcb76d6230e11c9104662d08d02f026962 100644 (file)
@@ -35,9 +35,6 @@ extern Target TheMipselTarget;
 static RegisterTarget<MipselTargetMachine>  Y(TheMipselTarget, "mipsel", 
                                               "Mipsel");
 
-MipsTargetMachine::AsmPrinterCtorFn MipsTargetMachine::AsmPrinterCtor = 0;
-
-
 // Force static initialization.
 extern "C" void LLVMInitializeMipsTarget() { }
 
@@ -103,8 +100,9 @@ addPreEmitPass(PassManagerBase &PM, CodeGenOpt::Level OptLevel)
 bool MipsTargetMachine::
 addAssemblyEmitter(PassManagerBase &PM, CodeGenOpt::Level OptLevel, 
                    bool Verbose, formatted_raw_ostream &Out)  {
-  // Output assembly language.
-  assert(AsmPrinterCtor && "AsmPrinter was not linked in");
-  PM.add(AsmPrinterCtor(Out, *this, Verbose));
+  FunctionPass *Printer = getTarget().createAsmPrinter(Out, *this, Verbose);
+  if (!Printer)
+    llvm_report_error("unable to create assembly printer");
+  PM.add(Printer);
   return false;
 }