diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/tools/opt/BreakpointPrinter.cpp | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/tools/opt/BreakpointPrinter.cpp')
| -rw-r--r-- | gnu/llvm/tools/opt/BreakpointPrinter.cpp | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/gnu/llvm/tools/opt/BreakpointPrinter.cpp b/gnu/llvm/tools/opt/BreakpointPrinter.cpp deleted file mode 100644 index d3f54c034f5..00000000000 --- a/gnu/llvm/tools/opt/BreakpointPrinter.cpp +++ /dev/null @@ -1,72 +0,0 @@ -//===- BreakpointPrinter.cpp - Breakpoint location printer ----------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -/// -/// \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().resolve(), 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().resolve(), 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); -} |
