[opt] Remove the BreakpointPrinter pass
authorBjorn Pettersson <bjorn.a.pettersson@ericsson.com>
Tue, 11 Apr 2023 22:03:44 +0000 (00:03 +0200)
committerBjorn Pettersson <bjorn.a.pettersson@ericsson.com>
Thu, 13 Apr 2023 08:11:59 +0000 (10:11 +0200)
This removed the option print-breakpoints-for-testing in opt, as well
as the related BreakpointPrinter pass.

The functionality only existed for the legacy PM, but was not verified
to be working by any test cases. And the named "llvm.dbg.sp" metadata
that the pass was looking for is not something that I really can find
any information about (unless perhaps if I dive really deep into the
commit history), so not sure exactly if this functionality has been
relevant for several years.

Differential Revision: https://reviews.llvm.org/D148080

llvm/tools/opt/BreakpointPrinter.cpp [deleted file]
llvm/tools/opt/BreakpointPrinter.h [deleted file]
llvm/tools/opt/CMakeLists.txt
llvm/tools/opt/opt.cpp
llvm/utils/gn/secondary/llvm/tools/opt/BUILD.gn

diff --git a/llvm/tools/opt/BreakpointPrinter.cpp b/llvm/tools/opt/BreakpointPrinter.cpp
deleted file mode 100644 (file)
index a57a8c4..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-//===- BreakpointPrinter.cpp - Breakpoint location printer ----------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-///
-/// \file
-/// Breakpoint location printer.
-///
-//===----------------------------------------------------------------------===//
-#include "BreakpointPrinter.h"
-#include "llvm/ADT/StringSet.h"
-#include "llvm/IR/DebugInfo.h"
-#include "llvm/IR/Module.h"
-#include "llvm/Pass.h"
-#include "llvm/Support/raw_ostream.h"
-
-using namespace llvm;
-
-namespace {
-
-struct BreakpointPrinter : public ModulePass {
-  raw_ostream &Out;
-  static char ID;
-
-  BreakpointPrinter(raw_ostream &out) : ModulePass(ID), Out(out) {}
-
-  void getContextName(const DIScope *Context, std::string &N) {
-    if (auto *NS = dyn_cast<DINamespace>(Context)) {
-      if (!NS->getName().empty()) {
-        getContextName(NS->getScope(), N);
-        N = N + NS->getName().str() + "::";
-      }
-    } else if (auto *TY = dyn_cast<DIType>(Context)) {
-      if (!TY->getName().empty()) {
-        getContextName(TY->getScope(), N);
-        N = N + TY->getName().str() + "::";
-      }
-    }
-  }
-
-  bool runOnModule(Module &M) override {
-    StringSet<> Processed;
-    if (NamedMDNode *NMD = M.getNamedMetadata("llvm.dbg.sp"))
-      for (unsigned i = 0, e = NMD->getNumOperands(); i != e; ++i) {
-        std::string Name;
-        auto *SP = cast_or_null<DISubprogram>(NMD->getOperand(i));
-        if (!SP)
-          continue;
-        getContextName(SP->getScope(), Name);
-        Name = Name + SP->getName().str();
-        if (!Name.empty() && Processed.insert(Name).second) {
-          Out << Name << "\n";
-        }
-      }
-    return false;
-  }
-
-  void getAnalysisUsage(AnalysisUsage &AU) const override {
-    AU.setPreservesAll();
-  }
-};
-
-char BreakpointPrinter::ID = 0;
-}
-
-ModulePass *llvm::createBreakpointPrinter(raw_ostream &out) {
-  return new BreakpointPrinter(out);
-}
diff --git a/llvm/tools/opt/BreakpointPrinter.h b/llvm/tools/opt/BreakpointPrinter.h
deleted file mode 100644 (file)
index 2877555..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-//===- BreakpointPrinter.h - Breakpoint location printer ------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-///
-/// \file
-/// Breakpoint location printer.
-///
-//===----------------------------------------------------------------------===//
-#ifndef LLVM_TOOLS_OPT_BREAKPOINTPRINTER_H
-#define LLVM_TOOLS_OPT_BREAKPOINTPRINTER_H
-
-namespace llvm {
-
-class ModulePass;
-class raw_ostream;
-
-ModulePass *createBreakpointPrinter(raw_ostream &out);
-}
-
-#endif // LLVM_TOOLS_OPT_BREAKPOINTPRINTER_H
index 6b2d6b4..c984539 100644 (file)
@@ -31,7 +31,6 @@ set(LLVM_LINK_COMPONENTS
 
 add_llvm_tool(opt
   AnalysisWrappers.cpp
-  BreakpointPrinter.cpp
   NewPMDriver.cpp
   opt.cpp
 
index 6a582fb..76d396d 100644 (file)
@@ -11,7 +11,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "BreakpointPrinter.h"
 #include "NewPMDriver.h"
 #include "llvm/Analysis/CallGraph.h"
 #include "llvm/Analysis/CallGraphSCCPass.h"
@@ -203,10 +202,6 @@ static cl::opt<bool> VerifyDebugInfoPreserve(
     cl::desc("Start the pipeline with collecting and end it with checking of "
              "debug info preservation."));
 
-static cl::opt<bool>
-PrintBreakpoints("print-breakpoints-for-testing",
-                 cl::desc("Print select breakpoints location for testing"));
-
 static cl::opt<std::string> ClDataLayout("data-layout",
                                          cl::desc("data layout string to use"),
                                          cl::value_desc("layout-string"),
@@ -780,24 +775,6 @@ int main(int argc, char **argv) {
 
   std::unique_ptr<legacy::FunctionPassManager> FPasses;
 
-  if (PrintBreakpoints) {
-    // Default to standard output.
-    if (!Out) {
-      if (OutputFilename.empty())
-        OutputFilename = "-";
-
-      std::error_code EC;
-      Out = std::make_unique<ToolOutputFile>(OutputFilename, EC,
-                                              sys::fs::OF_None);
-      if (EC) {
-        errs() << EC.message() << '\n';
-        return 1;
-      }
-    }
-    Passes.add(createBreakpointPrinter(Out->os()));
-    NoOutput = true;
-  }
-
   if (TM) {
     // FIXME: We should dyn_cast this when supported.
     auto &LTM = static_cast<LLVMTargetMachine &>(*TM);
@@ -909,7 +886,7 @@ int main(int argc, char **argv) {
     exportDebugifyStats(DebugifyExport, Passes.getDebugifyStatsMap());
 
   // Declare success.
-  if (!NoOutput || PrintBreakpoints)
+  if (!NoOutput)
     Out->keep();
 
   if (RemarksFile)
index 3eb2cfe..dfabf6d 100644 (file)
@@ -23,7 +23,6 @@ executable("opt") {
   ]
   sources = [
     "AnalysisWrappers.cpp",
-    "BreakpointPrinter.cpp",
     "NewPMDriver.cpp",
     "opt.cpp",
   ]