From: Daniel Dunbar Date: Thu, 13 Aug 2009 23:48:47 +0000 (+0000) Subject: TargetRegistry: Change AsmPrinter constructor to be typed as returning an X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=789457847002f5289dbbc5cfce9d68c72e00bed1;p=oota-llvm.git TargetRegistry: Change AsmPrinter constructor to be typed as returning an AsmPrinter instance (instead of just a FunctionPass) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78962 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Target/TargetRegistry.h b/include/llvm/Target/TargetRegistry.h index bfb23ef930f..ebdb36c26ec 100644 --- a/include/llvm/Target/TargetRegistry.h +++ b/include/llvm/Target/TargetRegistry.h @@ -24,7 +24,7 @@ #include namespace llvm { - class FunctionPass; + class AsmPrinter; class MCAsmParser; class Module; class TargetAsmInfo; @@ -51,10 +51,10 @@ namespace llvm { typedef TargetMachine *(*TargetMachineCtorTy)(const Target &T, const std::string &TT, const std::string &Features); - typedef FunctionPass *(*AsmPrinterCtorTy)(formatted_raw_ostream &OS, - TargetMachine &TM, - const TargetAsmInfo *TAI, - bool VerboseAsm); + typedef AsmPrinter *(*AsmPrinterCtorTy)(formatted_raw_ostream &OS, + TargetMachine &TM, + const TargetAsmInfo *TAI, + bool VerboseAsm); typedef TargetAsmParser *(*AsmParserCtorTy)(const Target &T, MCAsmParser &P); private: @@ -139,10 +139,8 @@ namespace llvm { } /// createAsmPrinter - Create a target specific assembly printer pass. - FunctionPass *createAsmPrinter(formatted_raw_ostream &OS, - TargetMachine &TM, - const TargetAsmInfo *TAI, - bool Verbose) const { + AsmPrinter *createAsmPrinter(formatted_raw_ostream &OS, TargetMachine &TM, + const TargetAsmInfo *TAI, bool Verbose) const { if (!AsmPrinterCtorFn) return 0; return AsmPrinterCtorFn(OS, TM, TAI, Verbose); @@ -407,10 +405,8 @@ namespace llvm { } private: - static FunctionPass *Allocator(formatted_raw_ostream &OS, - TargetMachine &TM, - const TargetAsmInfo *TAI, - bool Verbose) { + static AsmPrinter *Allocator(formatted_raw_ostream &OS, TargetMachine &TM, + const TargetAsmInfo *TAI, bool Verbose) { return new AsmPrinterImpl(OS, TM, TAI, Verbose); } }; diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index cafe4d3f14b..b0c3b80c9c6 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/lib/CodeGen/LLVMTargetMachine.cpp @@ -15,6 +15,7 @@ #include "llvm/PassManager.h" #include "llvm/Pass.h" #include "llvm/Assembly/PrintModulePass.h" +#include "llvm/CodeGen/AsmPrinter.h" #include "llvm/CodeGen/Passes.h" #include "llvm/CodeGen/GCStrategy.h" #include "llvm/CodeGen/MachineFunctionAnalysis.h" diff --git a/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp b/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp index 4a44f4cb79b..efbf7492480 100644 --- a/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp @@ -1089,10 +1089,10 @@ bool PPCDarwinAsmPrinter::doFinalization(Module &M) { /// for a MachineFunction to the given output stream, in a format that the /// Darwin assembler can deal with. /// -static FunctionPass *createPPCAsmPrinterPass(formatted_raw_ostream &o, - TargetMachine &tm, - const TargetAsmInfo *tai, - bool verbose) { +static AsmPrinter *createPPCAsmPrinterPass(formatted_raw_ostream &o, + TargetMachine &tm, + const TargetAsmInfo *tai, + bool verbose) { const PPCSubtarget *Subtarget = &tm.getSubtarget(); if (Subtarget->isDarwin()) diff --git a/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp index f2321595185..2e769a4d95e 100644 --- a/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp +++ b/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp @@ -25,10 +25,10 @@ using namespace llvm; /// for a MachineFunction to the given output stream, using the given target /// machine description. /// -static FunctionPass *createX86CodePrinterPass(formatted_raw_ostream &o, - TargetMachine &tm, - const TargetAsmInfo *tai, - bool verbose) { +static AsmPrinter *createX86CodePrinterPass(formatted_raw_ostream &o, + TargetMachine &tm, + const TargetAsmInfo *tai, + bool verbose) { if (tm.getTargetAsmInfo()->getAssemblerDialect() == 1) return new X86IntelAsmPrinter(o, tm, tai, verbose); return new X86ATTAsmPrinter(o, tm, tai, verbose);