LLVM
8.0.1
include
llvm
DebugInfo
CodeView
TypeIndexDiscovery.h
Go to the documentation of this file.
1
//===- TypeIndexDiscovery.h -------------------------------------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLVM_DEBUGINFO_CODEVIEW_TYPEINDEXDISCOVERY_H
11
#define LLVM_DEBUGINFO_CODEVIEW_TYPEINDEXDISCOVERY_H
12
13
#include "
llvm/ADT/SmallVector.h
"
14
#include "
llvm/DebugInfo/CodeView/SymbolRecord.h
"
15
#include "
llvm/DebugInfo/CodeView/TypeRecord.h
"
16
#include "
llvm/Support/Error.h
"
17
18
namespace
llvm
{
19
namespace
codeview {
20
enum class
TiRefKind
{
TypeRef
,
IndexRef
};
21
struct
TiReference
{
22
TiRefKind
Kind
;
23
uint32_t
Offset
;
24
uint32_t
Count
;
25
};
26
27
void
discoverTypeIndices
(
ArrayRef<uint8_t>
RecordData,
28
SmallVectorImpl<TiReference>
&Refs);
29
void
discoverTypeIndices
(
const
CVType
&
Type
,
30
SmallVectorImpl<TiReference>
&Refs);
31
void
discoverTypeIndices
(
const
CVType
&
Type
,
32
SmallVectorImpl<TypeIndex>
&Indices);
33
void
discoverTypeIndices
(
ArrayRef<uint8_t>
RecordData,
34
SmallVectorImpl<TypeIndex>
&Indices);
35
36
/// Discover type indices in symbol records. Returns false if this is an unknown
37
/// record.
38
bool
discoverTypeIndicesInSymbol
(
const
CVSymbol
&
Symbol
,
39
SmallVectorImpl<TiReference>
&Refs);
40
bool
discoverTypeIndicesInSymbol
(
ArrayRef<uint8_t>
RecordData,
41
SmallVectorImpl<TiReference>
&Refs);
42
bool
discoverTypeIndicesInSymbol
(
ArrayRef<uint8_t>
RecordData,
43
SmallVectorImpl<TypeIndex>
&Indices);
44
}
45
}
46
47
#endif
llvm::codeview::discoverTypeIndices
void discoverTypeIndices(ArrayRef< uint8_t > RecordData, SmallVectorImpl< TiReference > &Refs)
Definition:
TypeIndexDiscovery.cpp:491
llvm::ARMBuildAttrs::Symbol
Definition:
ARMBuildAttributes.h:77
llvm
This class represents lattice values for constants.
Definition:
AllocatorList.h:24
SymbolRecord.h
llvm::SmallVectorImpl
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Definition:
APFloat.h:42
llvm::codeview::TiReference::Count
uint32_t Count
Definition:
TypeIndexDiscovery.h:24
llvm::ArrayRef< uint8_t >
Error.h
llvm::Type
The instances of the Type class are immutable: once they are created, they are never changed...
Definition:
Type.h:46
llvm::codeview::discoverTypeIndicesInSymbol
bool discoverTypeIndicesInSymbol(const CVSymbol &Symbol, SmallVectorImpl< TiReference > &Refs)
Discover type indices in symbol records.
Definition:
TypeIndexDiscovery.cpp:499
uint32_t
llvm::codeview::TiRefKind::IndexRef
llvm::codeview::TiRefKind
TiRefKind
Definition:
TypeIndexDiscovery.h:20
llvm::codeview::TiReference::Kind
TiRefKind Kind
Definition:
TypeIndexDiscovery.h:22
llvm::codeview::TiRefKind::TypeRef
TypeRecord.h
llvm::codeview::TiReference
Definition:
TypeIndexDiscovery.h:21
SmallVector.h
llvm::codeview::TiReference::Offset
uint32_t Offset
Definition:
TypeIndexDiscovery.h:23
llvm::codeview::CVRecord< TypeLeafKind >
Generated on Sun Dec 20 2020 13:53:17 for LLVM by
1.8.13