aboutsummaryrefslogtreecommitdiff
path: root/lib/Target
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-08-13 19:38:51 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-08-13 19:38:51 +0000
commit67d894ea64bc52245abf3f2ba89122a749d99c53 (patch)
tree958d3ced50746f0f856f498fd00fd6807362ce01 /lib/Target
parent4e8e642eaa969db43b2a3ff6955abf3ca8b6789a (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.cpp10
-rw-r--r--lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp5
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.