LLVM  14.0.0git
NativeInlineSiteSymbol.h
Go to the documentation of this file.
1 //===- NativeInlineSiteSymbol.h - info about inline sites -------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVEINLINESITESYMBOL_H
10 #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVEINLINESITESYMBOL_H
11 
16 
17 namespace llvm {
18 namespace pdb {
19 
21 public:
23  const codeview::InlineSiteSym &Sym,
24  uint64_t ParentAddr);
25 
26  ~NativeInlineSiteSymbol() override;
27 
28  void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
29  PdbSymbolIdField RecurseIdFields) const override;
30 
31  std::string getName() const override;
32  std::unique_ptr<IPDBEnumLineNumbers>
33  findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override;
34 
35 private:
36  const codeview::InlineSiteSym Sym;
37  uint64_t ParentAddr;
38 
39  void getLineOffset(uint32_t OffsetInFunc, uint32_t &LineOffset,
40  uint32_t &FileOffset) const;
41 };
42 
43 } // namespace pdb
44 } // namespace llvm
45 
46 #endif // LLVM_DEBUGINFO_PDB_NATIVE_NATIVEINLINESITESYMBOL_H
llvm
---------------------— PointerInfo ------------------------------------—
Definition: AllocatorList.h:23
SymbolRecord.h
llvm::pdb::NativeInlineSiteSymbol::dump
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
Definition: NativeInlineSiteSymbol.cpp:30
llvm::codeview::InlineSiteSym
Definition: SymbolRecord.h:333
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:53
llvm::pdb::NativeInlineSiteSymbol::findInlineeLinesByVA
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override
Definition: NativeInlineSiteSymbol.cpp:129
CodeView.h
llvm::pdb::NativeInlineSiteSymbol::~NativeInlineSiteSymbol
~NativeInlineSiteSymbol() override
Definition: NativeInlineSiteSymbol.cpp:28
uint64_t
llvm::pdb::NativeInlineSiteSymbol::NativeInlineSiteSymbol
NativeInlineSiteSymbol(NativeSession &Session, SymIndexId Id, const codeview::InlineSiteSym &Sym, uint64_t ParentAddr)
Definition: NativeInlineSiteSymbol.cpp:22
uint32_t
NativeRawSymbol.h
llvm::pdb::NativeSession
Definition: NativeSession.h:28
llvm::pdb::NativeInlineSiteSymbol::getName
std::string getName() const override
Definition: NativeInlineSiteSymbol.cpp:57
llvm::pdb::PdbSymbolIdField
PdbSymbolIdField
Definition: IPDBRawSymbol.h:24
llvm::pdb::NativeRawSymbol::Session
NativeSession & Session
Definition: NativeRawSymbol.h:232
llvm::AMDGPU::VGPRIndexMode::Id
Id
Definition: SIDefines.h:228
llvm::pdb::NativeInlineSiteSymbol
Definition: NativeInlineSiteSymbol.h:20
llvm::pdb::NativeRawSymbol
Definition: NativeRawSymbol.h:21
NativeSession.h