diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-07-15 22:01:32 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-15 22:01:32 +0000 |
commit | f05522974b3c1b9dc2644831364e19d5132e751b (patch) | |
tree | a3df46ab97e1d8b05ecb6efa93803c11ec9b7fa8 /lib/Target/Sparc | |
parent | 0df5c8e3f1061cd23f8abde64840828f713d4597 (diff) | |
download | llvm-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.cpp | 8 | ||||
-rw-r--r-- | lib/Target/Sparc/SparcTargetMachine.cpp | 12 | ||||
-rw-r--r-- | lib/Target/Sparc/SparcTargetMachine.h | 11 |
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 |