diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-08-13 19:38:51 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-08-13 19:38:51 +0000 |
commit | 67d894ea64bc52245abf3f2ba89122a749d99c53 (patch) | |
tree | 958d3ced50746f0f856f498fd00fd6807362ce01 /lib/Target | |
parent | 4e8e642eaa969db43b2a3ff6955abf3ca8b6789a (diff) |
TargetRegistry: Reorganize AsmPrinter construction so that clients pass in the
TargetAsmInfo. This eliminates a dependency on TargetMachine.h from
TargetRegistry.h, which technically was a layering violation.
- Clients probably can only sensibly pass in the same TargetAsmInfo as the
TargetMachine has, but there are only limited clients of this API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78928 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp | 10 | ||||
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp | 5 |
2 files changed, 8 insertions, 7 deletions
diff --git a/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp b/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp index e024b75386..4a44f4cb79 100644 --- a/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp @@ -1090,18 +1090,18 @@ bool PPCDarwinAsmPrinter::doFinalization(Module &M) { /// Darwin assembler can deal with. /// static FunctionPass *createPPCAsmPrinterPass(formatted_raw_ostream &o, - TargetMachine &tm, - bool verbose) { + TargetMachine &tm, + const TargetAsmInfo *tai, + bool verbose) { const PPCSubtarget *Subtarget = &tm.getSubtarget<PPCSubtarget>(); if (Subtarget->isDarwin()) - return new PPCDarwinAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose); - return new PPCLinuxAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose); + return new PPCDarwinAsmPrinter(o, tm, tai, verbose); + return new PPCLinuxAsmPrinter(o, tm, tai, verbose); } // Force static initialization. extern "C" void LLVMInitializePowerPCAsmPrinter() { TargetRegistry::RegisterAsmPrinter(ThePPC32Target, createPPCAsmPrinterPass); - TargetRegistry::RegisterAsmPrinter(ThePPC64Target, createPPCAsmPrinterPass); } diff --git a/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp index 14156828f8..f232159518 100644 --- a/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp +++ b/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp @@ -27,10 +27,11 @@ using namespace llvm; /// static FunctionPass *createX86CodePrinterPass(formatted_raw_ostream &o, TargetMachine &tm, + const TargetAsmInfo *tai, bool verbose) { if (tm.getTargetAsmInfo()->getAssemblerDialect() == 1) - return new X86IntelAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose); - return new X86ATTAsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose); + return new X86IntelAsmPrinter(o, tm, tai, verbose); + return new X86ATTAsmPrinter(o, tm, tai, verbose); } // Force static initialization. |