LLVM 22.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
17namespace llvm {
18namespace pdb {
19
20class NativeSession;
21
23public:
25 const codeview::InlineSiteSym &Sym,
26 uint64_t ParentAddr);
27
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
37private:
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
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override
NativeInlineSiteSymbol(NativeSession &Session, SymIndexId Id, const codeview::InlineSiteSym &Sym, uint64_t ParentAddr)
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag, SymIndexId SymbolId)
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition raw_ostream.h:53
uint32_t SymIndexId
Definition PDBTypes.h:26
This is an optimization pass for GlobalISel generic memory operations.
@ Length
Definition DWP.cpp:477