mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-21 03:05:26 -04:00
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256952 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user