should create the right asmprinter subclass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30542
91177308-0d34-0410-b5e6-
96231b3b80d8
FunctionPass *createPPCBranchSelectionPass();
FunctionPass *createPPCISelDag(PPCTargetMachine &TM);
FunctionPass *createPPCBranchSelectionPass();
FunctionPass *createPPCISelDag(PPCTargetMachine &TM);
-FunctionPass *createDarwinCodePrinterPass(std::ostream &OS,
- PPCTargetMachine &TM);
+FunctionPass *createPPCAsmPrinterPass(std::ostream &OS,
+ PPCTargetMachine &TM);
FunctionPass *createPPCCodeEmitterPass(PPCTargetMachine &TM,
MachineCodeEmitter &MCE);
void addPPCMachOObjectWriterPass(FunctionPassManager &FPM, std::ostream &o,
FunctionPass *createPPCCodeEmitterPass(PPCTargetMachine &TM,
MachineCodeEmitter &MCE);
void addPPCMachOObjectWriterPass(FunctionPassManager &FPM, std::ostream &o,
};
} // end of anonymous namespace
};
} // end of anonymous namespace
-/// createDarwinCodePrinterPass - Returns a pass that prints the PPC assembly
-/// code for a MachineFunction to the given output stream, in a format that the
-/// Darwin assembler can deal with.
-///
-FunctionPass *llvm::createDarwinCodePrinterPass(std::ostream &o,
- PPCTargetMachine &tm) {
- return new DarwinAsmPrinter(o, tm, tm.getTargetAsmInfo());
-}
-
// Include the auto-generated portion of the assembly writer
#include "PPCGenAsmWriter.inc"
// Include the auto-generated portion of the assembly writer
#include "PPCGenAsmWriter.inc"
// 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.
// 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.
- if (Subtarget.isDarwin())
- O << "\t.subsections_via_symbols\n";
+ O << "\t.subsections_via_symbols\n";
AsmPrinter::doFinalization(M);
return false; // success
}
AsmPrinter::doFinalization(M);
return false; // success
}
+
+
+/// createDarwinCodePrinterPass - Returns a pass that prints the PPC assembly
+/// code for a MachineFunction to the given output stream, in a format that the
+/// Darwin assembler can deal with.
+///
+FunctionPass *llvm::createPPCAsmPrinterPass(std::ostream &o,
+ PPCTargetMachine &tm) {
+ return new DarwinAsmPrinter(o, tm, tm.getTargetAsmInfo());
+}
+
bool PPCTargetMachine::addAssemblyEmitter(FunctionPassManager &PM, bool Fast,
std::ostream &Out) {
bool PPCTargetMachine::addAssemblyEmitter(FunctionPassManager &PM, bool Fast,
std::ostream &Out) {
- PM.add(createDarwinCodePrinterPass(Out, *this));
+ PM.add(createPPCAsmPrinterPass(Out, *this));