aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2004-01-30 21:53:46 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2004-01-30 21:53:46 +0000
commit09caa3751f3c53a8c8a7a81c2a60d6c8ddf5a980 (patch)
tree77f03bb3c785b347aa43359876ee8eb572930b73 /lib/CodeGen/MachineFunction.cpp
parent10d208d7b1a41665874815c4ed508b787ac728c3 (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.cpp17
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 {