diff options
author | Chris Lattner <sabre@nondot.org> | 2006-09-20 17:07:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-09-20 17:07:15 +0000 |
commit | 8597a2fc4e0fe735d07a2c6866f56fa12e2ad447 (patch) | |
tree | 217305cefa2b01efc7a4683c8b86a33e6475449f /llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | |
parent | cfff1c3f86c7ecf5c75d488e0869b38aa467cd52 (diff) | |
download | bcm5719-llvm-8597a2fc4e0fe735d07a2c6866f56fa12e2ad447.tar.gz bcm5719-llvm-8597a2fc4e0fe735d07a2c6866f56fa12e2ad447.zip |
Wrap some darwin'isms with isDarwin checks.
llvm-svn: 30541
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp index b50fc459599..e04e72d7499 100644 --- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -49,9 +49,11 @@ namespace { struct VISIBILITY_HIDDEN PPCAsmPrinter : public AsmPrinter { std::set<std::string> FnStubs, GVStubs; + const PPCSubtarget &Subtarget; PPCAsmPrinter(std::ostream &O, TargetMachine &TM, const TargetAsmInfo *T) - : AsmPrinter(O, TM, T) {} + : AsmPrinter(O, TM, T), Subtarget(TM.getSubtarget<PPCSubtarget>()) { + } virtual const char *getPassName() const { return "PowerPC Assembly Printer"; @@ -248,7 +250,7 @@ namespace { DarwinAsmPrinter(std::ostream &O, PPCTargetMachine &TM, const TargetAsmInfo *T) : PPCAsmPrinter(O, TM, T), DW(O, this, T) { - bool isPPC64 = TM.getSubtargetImpl()->isPPC64(); + bool isPPC64 = Subtarget.isPPC64(); } virtual const char *getPassName() const { @@ -480,7 +482,7 @@ bool DarwinAsmPrinter::runOnMachineFunction(MachineFunction &MF) { bool DarwinAsmPrinter::doInitialization(Module &M) { - if (TM.getSubtarget<PPCSubtarget>().isGigaProcessor()) + if (Subtarget.isGigaProcessor()) O << "\t.machine ppc970\n"; AsmPrinter::doInitialization(M); @@ -637,7 +639,8 @@ bool DarwinAsmPrinter::doFinalization(Module &M) { // implementation of multiple entry points). If this doesn't occur, the // linker can safely perform dead code stripping. Since LLVM never generates // code that does this, it is always safe to set. - O << "\t.subsections_via_symbols\n"; + if (Subtarget.isDarwin()) + O << "\t.subsections_via_symbols\n"; AsmPrinter::doFinalization(M); return false; // success |