LLVM
8.0.1
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
z
+
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
z
+
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
+
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Related Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
y
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
+
Enumerations
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
+
Enumerator
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
+
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Examples
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