LLVM  15.0.0git
NativeTypeVTShape.h
Go to the documentation of this file.
1 //===- NativeTypeVTShape.h - info about virtual table shape ------*- 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_NATIVETYPEVTSHAPE_H
10 #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVETYPEVTSHAPE_H
11 
17 
18 namespace llvm {
19 namespace pdb {
20 class NativeSession;
21 
23 public:
24  // Create a pointer record for a non-simple type.
27 
28  ~NativeTypeVTShape() override;
29 
30  void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
31  PdbSymbolIdField RecurseIdFields) const override;
32 
33  bool isConstType() const override;
34  bool isVolatileType() const override;
35  bool isUnalignedType() const override;
36  uint32_t getCount() const override;
37 
38 protected:
41 };
42 
43 } // namespace pdb
44 } // namespace llvm
45 
46 #endif // LLVM_DEBUGINFO_PDB_NATIVE_NATIVETYPEVTSHAPE_H
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
llvm::pdb::NativeTypeVTShape
Definition: NativeTypeVTShape.h:22
IPDBRawSymbol.h
llvm::codeview::VFTableShapeRecord
Definition: TypeRecord.h:553
llvm::pdb::NativeTypeVTShape::dump
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
Definition: NativeTypeVTShape.cpp:18
llvm::pdb::NativeTypeVTShape::isUnalignedType
bool isUnalignedType() const override
Definition: NativeTypeVTShape.cpp:36
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::NativeTypeVTShape::isVolatileType
bool isVolatileType() const override
Definition: NativeTypeVTShape.cpp:34
PDBTypes.h
llvm::pdb::NativeTypeVTShape::~NativeTypeVTShape
~NativeTypeVTShape() override
TypeRecord.h
llvm::pdb::NativeTypeVTShape::TI
codeview::TypeIndex TI
Definition: NativeTypeVTShape.h:39
llvm::pdb::NativeTypeVTShape::NativeTypeVTShape
NativeTypeVTShape(NativeSession &Session, SymIndexId Id, codeview::TypeIndex TI, codeview::VFTableShapeRecord SR)
Definition: NativeTypeVTShape.cpp:10
llvm::pdb::NativeTypeVTShape::isConstType
bool isConstType() const override
Definition: NativeTypeVTShape.cpp:32
llvm::pdb::NativeTypeVTShape::getCount
uint32_t getCount() const override
Definition: NativeTypeVTShape.cpp:38
uint32_t
NativeRawSymbol.h
TypeIndex.h
llvm::pdb::NativeSession
Definition: NativeSession.h:32
llvm::pdb::PdbSymbolIdField
PdbSymbolIdField
Definition: IPDBRawSymbol.h:24
llvm::codeview::TypeIndex
A 32-bit type reference.
Definition: TypeIndex.h:96
llvm::pdb::NativeRawSymbol::Session
NativeSession & Session
Definition: NativeRawSymbol.h:232
llvm::AMDGPU::VGPRIndexMode::Id
Id
Definition: SIDefines.h:235
llvm::pdb::NativeRawSymbol
Definition: NativeRawSymbol.h:21
llvm::pdb::NativeTypeVTShape::Record
codeview::VFTableShapeRecord Record
Definition: NativeTypeVTShape.h:40