LLVM  15.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 
20 class NativeSession;
21 
23 public:
25  const codeview::InlineSiteSym &Sym,
26  uint64_t ParentAddr);
27 
28  ~NativeInlineSiteSymbol() override;
29 
30  void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
31  PdbSymbolIdField RecurseIdFields) const override;
32 
33  std::string getName() const override;
34  std::unique_ptr<IPDBEnumLineNumbers>
35  findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override;
36 
37 private:
38  const codeview::InlineSiteSym Sym;
39  uint64_t ParentAddr;
40 
41  void getLineOffset(uint32_t OffsetInFunc, uint32_t &LineOffset,
42  uint32_t &FileOffset) const;
43 };
44 
45 } // namespace pdb
46 } // namespace llvm
47 
48 #endif // LLVM_DEBUGINFO_PDB_NATIVE_NATIVEINLINESITESYMBOL_H
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
IPDBRawSymbol.h
SymbolRecord.h
llvm::pdb::NativeInlineSiteSymbol::dump
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
Definition: NativeInlineSiteSymbol.cpp:36
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:54
llvm::pdb::NativeInlineSiteSymbol::findInlineeLinesByVA
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override
Definition: NativeInlineSiteSymbol.cpp:187
PDBTypes.h
llvm::pdb::NativeInlineSiteSymbol::~NativeInlineSiteSymbol
~NativeInlineSiteSymbol() override
uint64_t
llvm::pdb::NativeInlineSiteSymbol::NativeInlineSiteSymbol
NativeInlineSiteSymbol(NativeSession &Session, SymIndexId Id, const codeview::InlineSiteSym &Sym, uint64_t ParentAddr)
Definition: NativeInlineSiteSymbol.cpp:28
uint32_t
NativeRawSymbol.h
llvm::pdb::NativeSession
Definition: NativeSession.h:32
llvm::pdb::NativeInlineSiteSymbol::getName
std::string getName() const override
Definition: NativeInlineSiteSymbol.cpp:63
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:238
llvm::pdb::NativeInlineSiteSymbol
Definition: NativeInlineSiteSymbol.h:22
llvm::pdb::NativeRawSymbol
Definition: NativeRawSymbol.h:21