[llvm] 169fde6 - [opt] Remove the BreakpointPrinter pass
Bjorn Pettersson via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 13 01:12:36 PDT 2023
Author: Bjorn Pettersson
Date: 2023-04-13T10:11:59+02:00
New Revision: 169fde63b7cb5734acf7d8c6f8ea3932a001e6b4
URL: https://github.com/llvm/llvm-project/commit/169fde63b7cb5734acf7d8c6f8ea3932a001e6b4
DIFF: https://github.com/llvm/llvm-project/commit/169fde63b7cb5734acf7d8c6f8ea3932a001e6b4.diff
LOG: [opt] Remove the BreakpointPrinter pass
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
Added:
Modified:
llvm/tools/opt/CMakeLists.txt
llvm/tools/opt/opt.cpp
llvm/utils/gn/secondary/llvm/tools/opt/BUILD.gn
Removed:
llvm/tools/opt/BreakpointPrinter.cpp
llvm/tools/opt/BreakpointPrinter.h
################################################################################
diff --git a/llvm/tools/opt/BreakpointPrinter.cpp b/llvm/tools/opt/BreakpointPrinter.cpp
deleted file mode 100644
index a57a8c43c264..000000000000
--- a/llvm/tools/opt/BreakpointPrinter.cpp
+++ /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
index 2877555f852c..000000000000
--- a/llvm/tools/opt/BreakpointPrinter.h
+++ /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
diff --git a/llvm/tools/opt/CMakeLists.txt b/llvm/tools/opt/CMakeLists.txt
index 6b2d6b4d18a8..c984539cb921 100644
--- a/llvm/tools/opt/CMakeLists.txt
+++ b/llvm/tools/opt/CMakeLists.txt
@@ -31,7 +31,6 @@ set(LLVM_LINK_COMPONENTS
add_llvm_tool(opt
AnalysisWrappers.cpp
- BreakpointPrinter.cpp
NewPMDriver.cpp
opt.cpp
diff --git a/llvm/tools/opt/opt.cpp b/llvm/tools/opt/opt.cpp
index 6a582fb0d425..76d396d82cb4 100644
--- a/llvm/tools/opt/opt.cpp
+++ b/llvm/tools/opt/opt.cpp
@@ -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 <M = 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)
diff --git a/llvm/utils/gn/secondary/llvm/tools/opt/BUILD.gn b/llvm/utils/gn/secondary/llvm/tools/opt/BUILD.gn
index 3eb2cfef15c5..dfabf6d3f394 100644
--- a/llvm/utils/gn/secondary/llvm/tools/opt/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/tools/opt/BUILD.gn
@@ -23,7 +23,6 @@ executable("opt") {
]
sources = [
"AnalysisWrappers.cpp",
- "BreakpointPrinter.cpp",
"NewPMDriver.cpp",
"opt.cpp",
]
More information about the llvm-commits
mailing list