summaryrefslogtreecommitdiff
path: root/lib/Target/Sparc
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-15 22:01:32 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-15 22:01:32 +0000
commitf05522974b3c1b9dc2644831364e19d5132e751b (patch)
treea3df46ab97e1d8b05ecb6efa93803c11ec9b7fa8 /lib/Target/Sparc
parent0df5c8e3f1061cd23f8abde64840828f713d4597 (diff)
downloadllvm-f05522974b3c1b9dc2644831364e19d5132e751b.tar.gz
llvm-f05522974b3c1b9dc2644831364e19d5132e751b.tar.bz2
llvm-f05522974b3c1b9dc2644831364e19d5132e751b.tar.xz
Remove old style hacks to register AsmPrinter into TargetMachine.
- No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75843 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc')
-rw-r--r--lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp8
-rw-r--r--lib/Target/Sparc/SparcTargetMachine.cpp12
-rw-r--r--lib/Target/Sparc/SparcTargetMachine.h11
3 files changed, 4 insertions, 27 deletions
diff --git a/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp b/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
index 03735b0f41..dce42e4919 100644
--- a/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
+++ b/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
@@ -351,14 +351,6 @@ bool SparcAsmPrinter::PrintAsmMemoryOperand(const MachineInstr *MI,
return false;
}
-namespace {
- static struct Register {
- Register() {
- SparcTargetMachine::registerAsmPrinter(createSparcCodePrinterPass);
- }
- } Registrator;
-}
-
// Force static initialization.
extern "C" void LLVMInitializeSparcAsmPrinter() {
extern Target TheSparcTarget;
diff --git a/lib/Target/Sparc/SparcTargetMachine.cpp b/lib/Target/Sparc/SparcTargetMachine.cpp
index 2550363113..c872f46078 100644
--- a/lib/Target/Sparc/SparcTargetMachine.cpp
+++ b/lib/Target/Sparc/SparcTargetMachine.cpp
@@ -22,10 +22,6 @@ using namespace llvm;
extern Target TheSparcTarget;
static RegisterTarget<SparcTargetMachine> X(TheSparcTarget, "sparc", "SPARC");
-// No assembler printer by default
-SparcTargetMachine::AsmPrinterCtorFn SparcTargetMachine::AsmPrinterCtor = 0;
-
-
// Force static initialization.
extern "C" void LLVMInitializeSparcTarget() { }
@@ -64,9 +60,9 @@ bool SparcTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
CodeGenOpt::Level OptLevel,
bool Verbose,
formatted_raw_ostream &Out) {
- // Output assembly language.
- assert(AsmPrinterCtor && "AsmPrinter was not linked in");
- if (AsmPrinterCtor)
- 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;
}
diff --git a/lib/Target/Sparc/SparcTargetMachine.h b/lib/Target/Sparc/SparcTargetMachine.h
index ca34b96365..423c9505a2 100644
--- a/lib/Target/Sparc/SparcTargetMachine.h
+++ b/lib/Target/Sparc/SparcTargetMachine.h
@@ -35,13 +35,6 @@ class SparcTargetMachine : public LLVMTargetMachine {
protected:
virtual const TargetAsmInfo *createTargetAsmInfo() const;
- // To avoid having target depend on the asmprinter stuff libraries, asmprinter
- // set this functions to ctor pointer at startup time if they are linked in.
- typedef FunctionPass *(*AsmPrinterCtorFn)(formatted_raw_ostream &o,
- TargetMachine &tm,
- bool verbose);
- static AsmPrinterCtorFn AsmPrinterCtor;
-
public:
SparcTargetMachine(const Target &T, const Module &M, const std::string &FS);
@@ -62,10 +55,6 @@ public:
virtual bool addAssemblyEmitter(PassManagerBase &PM,
CodeGenOpt::Level OptLevel,
bool Verbose, formatted_raw_ostream &Out);
-
- static void registerAsmPrinter(AsmPrinterCtorFn F) {
- AsmPrinterCtor = F;
- }
};
} // end namespace llvm