summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp
diff options
context:
space:
mode:
authorWeiming Zhao <weimingz@codeaurora.org>2016-01-06 18:20:25 +0000
committerWeiming Zhao <weimingz@codeaurora.org>2016-01-06 18:20:25 +0000
commiteac06368053bd1e7082b5ab7efcd6f9c7014d589 (patch)
tree0d07c5c52b63ddac0d8345db928893a825dd3bd2 /llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp
parentc7c18d6d14f5d95e1a940ee4841e8ba74d8f9078 (diff)
downloadbcm5719-llvm-eac06368053bd1e7082b5ab7efcd6f9c7014d589.tar.gz
bcm5719-llvm-eac06368053bd1e7082b5ab7efcd6f9c7014d589.zip
Filtering IR printing for print-after-all/print-before-all
Summary: This patch implements "-print-funcs" option to support function filtering for IR printing like -print-after-all, -print-before etc. Examples: -print-after-all -print-funcs=foo,bar Reviewers: mcrosier, joker.eph Subscribers: tejohnson, joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D15776 llvm-svn: 256952
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp b/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp
index 790f5accdb2..4f424ff292c 100644
--- a/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp
+++ b/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp
@@ -31,7 +31,7 @@ struct MachineFunctionPrinterPass : public MachineFunctionPass {
const std::string Banner;
MachineFunctionPrinterPass() : MachineFunctionPass(ID), OS(dbgs()) { }
- MachineFunctionPrinterPass(raw_ostream &os, const std::string &banner)
+ MachineFunctionPrinterPass(raw_ostream &os, const std::string &banner)
: MachineFunctionPass(ID), OS(os), Banner(banner) {}
const char *getPassName() const override { return "MachineFunction Printer"; }
@@ -42,6 +42,8 @@ struct MachineFunctionPrinterPass : public MachineFunctionPass {
}
bool runOnMachineFunction(MachineFunction &MF) override {
+ if (!llvm::isFunctionInPrintList(MF.getName()))
+ return false;
OS << "# " << Banner << ":\n";
MF.print(OS, getAnalysisIfAvailable<SlotIndexes>());
return false;
OpenPOWER on IntegriCloud