diff options
author | Brian Gaeke <gaeke@uiuc.edu> | 2004-01-30 21:53:46 +0000 |
---|---|---|
committer | Brian Gaeke <gaeke@uiuc.edu> | 2004-01-30 21:53:46 +0000 |
commit | 09caa3751f3c53a8c8a7a81c2a60d6c8ddf5a980 (patch) | |
tree | 77f03bb3c785b347aa43359876ee8eb572930b73 /lib/CodeGen/MachineFunction.cpp | |
parent | 10d208d7b1a41665874815c4ed508b787ac728c3 (diff) |
Give clients of MachineFunctionPrinter the ability to specify a banner and
choose an ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11016 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineFunction.cpp')
-rw-r--r-- | lib/CodeGen/MachineFunction.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp index fa77906332..e25fe8d588 100644 --- a/lib/CodeGen/MachineFunction.cpp +++ b/lib/CodeGen/MachineFunction.cpp @@ -34,6 +34,12 @@ static AnnotationID MF_AID( namespace { struct Printer : public MachineFunctionPass { + std::ostream *OS; + const std::string &Banner; + + Printer (std::ostream *_OS, const std::string &_Banner) : + OS (_OS), Banner (_Banner) { } + const char *getPassName() const { return "MachineFunction Printer"; } virtual void getAnalysisUsage(AnalysisUsage &AU) const { @@ -41,14 +47,19 @@ namespace { } bool runOnMachineFunction(MachineFunction &MF) { - MF.dump(); + (*OS) << Banner; + MF.print (*OS); return false; } }; } -FunctionPass *llvm::createMachineFunctionPrinterPass() { - return new Printer(); +/// Returns a newly-created MachineFunction Printer pass. The default output +/// stream is std::cerr; the default banner is empty. +/// +FunctionPass *llvm::createMachineFunctionPrinterPass(std::ostream *OS, + const std::string &Banner) { + return new Printer(OS, Banner); } namespace { |