From: Weiming Zhao Date: Wed, 6 Jan 2016 18:31:44 +0000 (+0000) Subject: Revert r256952 due to lit test fails. X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=4357b8d66313ed4db22f64b785dbb3ea1df0310a Revert r256952 due to lit test fails. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256954 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h index 99604cdbc9c..3c4d838a465 100644 --- a/include/llvm/Pass.h +++ b/include/llvm/Pass.h @@ -369,10 +369,6 @@ protected: /// @brief This is the storage for the -time-passes option. extern bool TimePassesIsEnabled; -/// isFunctionInPrintList - returns true if a function should be printed via -// debugging options like -print-after-all/-print-before-all. -// @brief Tells if the function IR should be printed by PrinterPass. -extern bool isFunctionInPrintList(StringRef FunctionName); } // End llvm namespace // Include support files that contain important APIs commonly used by Passes, diff --git a/lib/Analysis/CallGraphSCCPass.cpp b/lib/Analysis/CallGraphSCCPass.cpp index 6dd1d0a066b..07b389a2a13 100644 --- a/lib/Analysis/CallGraphSCCPass.cpp +++ b/lib/Analysis/CallGraphSCCPass.cpp @@ -612,10 +612,9 @@ namespace { bool runOnSCC(CallGraphSCC &SCC) override { Out << Banner; for (CallGraphNode *CGN : SCC) { - if (CGN->getFunction()) { - if (isFunctionInPrintList(CGN->getFunction()->getName())) - CGN->getFunction()->print(Out); - } else + if (CGN->getFunction()) + CGN->getFunction()->print(Out); + else Out << "\nPrinting Function\n"; } return false; diff --git a/lib/Analysis/LoopPass.cpp b/lib/Analysis/LoopPass.cpp index e24a9e46fc1..dc424734dd5 100644 --- a/lib/Analysis/LoopPass.cpp +++ b/lib/Analysis/LoopPass.cpp @@ -42,11 +42,7 @@ public: } bool runOnLoop(Loop *L, LPPassManager &) override { - auto BBI = find_if(L->blocks().begin(), L->blocks().end(), - [](BasicBlock *BB) { return BB; }); - if (BBI != L->blocks().end() && - isFunctionInPrintList((*BBI)->getParent()->getName())) - P.run(*L); + P.run(*L); return false; } }; diff --git a/lib/CodeGen/MachineFunctionPrinterPass.cpp b/lib/CodeGen/MachineFunctionPrinterPass.cpp index 4f424ff292c..790f5accdb2 100644 --- a/lib/CodeGen/MachineFunctionPrinterPass.cpp +++ b/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,8 +42,6 @@ struct MachineFunctionPrinterPass : public MachineFunctionPass { } bool runOnMachineFunction(MachineFunction &MF) override { - if (!llvm::isFunctionInPrintList(MF.getName())) - return false; OS << "# " << Banner << ":\n"; MF.print(OS, getAnalysisIfAvailable()); return false; diff --git a/lib/IR/IRPrintingPasses.cpp b/lib/IR/IRPrintingPasses.cpp index c23f44a955e..c1ac336c1fb 100644 --- a/lib/IR/IRPrintingPasses.cpp +++ b/lib/IR/IRPrintingPasses.cpp @@ -27,14 +27,8 @@ PrintModulePass::PrintModulePass(raw_ostream &OS, const std::string &Banner, ShouldPreserveUseListOrder(ShouldPreserveUseListOrder) {} PreservedAnalyses PrintModulePass::run(Module &M) { - OS << Banner << "\n"; - if (llvm::isFunctionInPrintList("*")) - M.print(OS, nullptr, ShouldPreserveUseListOrder); - else { - for(const auto &F : M.functions()) - if (llvm::isFunctionInPrintList(F.getName())) - F.print(OS); - } + OS << Banner; + M.print(OS, nullptr, ShouldPreserveUseListOrder); return PreservedAnalyses::all(); } @@ -43,8 +37,7 @@ PrintFunctionPass::PrintFunctionPass(raw_ostream &OS, const std::string &Banner) : OS(OS), Banner(Banner) {} PreservedAnalyses PrintFunctionPass::run(Function &F) { - if (isFunctionInPrintList(F.getName())) - OS << Banner << static_cast(F); + OS << Banner << static_cast(F); return PreservedAnalyses::all(); } diff --git a/lib/IR/LegacyPassManager.cpp b/lib/IR/LegacyPassManager.cpp index 63d89f21b35..f2e0c7d32c0 100644 --- a/lib/IR/LegacyPassManager.cpp +++ b/lib/IR/LegacyPassManager.cpp @@ -28,7 +28,6 @@ #include "llvm/Support/raw_ostream.h" #include #include -#include using namespace llvm; using namespace llvm::legacy; @@ -84,13 +83,6 @@ PrintAfterAll("print-after-all", llvm::cl::desc("Print IR after each pass"), cl::init(false)); -static cl::list - PrintFuncsList("filter-print-funcs", cl::value_desc("function names"), - cl::desc("Only print IR for functions whose name " - "match this for all print-[before|after][-all] " - "options"), - cl::CommaSeparated); - /// This is a helper to determine whether to print IR before or /// after a pass. @@ -117,11 +109,6 @@ static bool ShouldPrintAfterPass(const PassInfo *PI) { return PrintAfterAll || ShouldPrintBeforeOrAfterPass(PI, PrintAfter); } -bool llvm::isFunctionInPrintList(StringRef FunctionName) { - static std::unordered_set PrintFuncNames(PrintFuncsList.begin(), - PrintFuncsList.end()); - return PrintFuncNames.empty() || PrintFuncNames.count(FunctionName); -} /// isPassDebuggingExecutionsOrMore - Return true if -debug-pass=Executions /// or higher is specified. bool PMDataManager::isPassDebuggingExecutionsOrMore() const { diff --git a/test/Other/2010-05-06-Printer.ll b/test/Other/2010-05-06-Printer.ll index dcc0e752bb5..e57b9825b33 100644 --- a/test/Other/2010-05-06-Printer.ll +++ b/test/Other/2010-05-06-Printer.ll @@ -1,19 +1,7 @@ ; RUN: llc -O2 -print-after-all < %s 2>/dev/null -; RUN: llc -O2 -print-after-all < %s 2>&1 | FileCheck %s --check-prefix=ALL -; RUN: llc -O2 -print-after-all -filter-print-funcs=foo < %s 2>&1 | FileCheck %s --check-prefix=FOO ; REQUIRES: default_triple -define void @tester(){ - ret void -} -define void @foo(){ +define void @tester(){ ret void } -;ALL: define void @tester() -;ALL: define void @foo() -;ALL: ModuleID = - -;FOO: IR Dump After -;FOO-NEXT: define void @foo() -;FOO-NOT: define void @tester