LLVM: include/llvm/ObjectYAML/WasmYAML.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef LLVM_OBJECTYAML_WASMYAML_H
16#define LLVM_OBJECTYAML_WASMYAML_H
17
22#include
23#include
24#include
25
26namespace llvm {
28
42
46
53
59
65
74
82
89
103
108
114
123
131
136
141
146
153
160
171
176
181
186
195
207
213
218
221
224 return C && C->Name == "dylink.0";
225 }
226
235};
236
239
242 return C && C->Name == "name";
243 }
244
248};
249
252
255 return C && C->Name == "linking";
256 }
257
263};
264
267
270 return C && C->Name == "producers";
271 }
272
276};
277
280
283 return C && C->Name == "target_features";
284 }
285
287};
288
298
308
318
328
338
348
358
368
378
388
398
408
418
421 std::vector<std::unique_ptr
422};
423
424}
425}
426
450
451namespace llvm {
452namespace yaml {
453
457
459 static void mapping(IO &IO, std::unique_ptrWasmYAML::Section &Section);
460};
461
465
469
473
477
481
485
489
493
497
501
505
509
513
517
521
525
527 static void enumeration(IO &IO, WasmYAML::FeaturePolicyPrefix &Prefix);
528};
529
533
537
541
545
549
553
557
561
565
569
573
577
581
585
589
593
597
601
602}
603}
604
605#endif
Analysis containing CSE Info
#define LLVM_YAML_IS_SEQUENCE_VECTOR(type)
Utility for declaring that a std::vector of a particular type should be considered a YAML sequence.
#define LLVM_YAML_STRONG_TYPEDEF(_base, _type)
YAML I/O does conversion based on types. But often native data types are just a typedef of built in i...
StringRef - Represent a constant reference to a string, i.e.
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
Specialized YAMLIO scalar type for representing a binary blob.
@ C
The default llvm calling convention, compatible with C.
This is an optimization pass for GlobalISel generic memory operations.
decltype(auto) dyn_cast(const From &Val)
dyn_cast - Return the argument parameter cast to the specified type.
@ Export
Export information to summary.
@ Import
Import information from summary.
@ Global
Append to llvm.global_dtors.
PointerUnion< const Value *, const PseudoSourceValue * > ValueType
Implement std::hash so that hash_code can be used in STL containers.
std::vector< Function > Functions
Definition WasmYAML.h:396
CodeSection()
Definition WasmYAML.h:390
static bool classof(const Section *S)
Definition WasmYAML.h:392
Definition WasmYAML.h:177
ComdatKind Kind
Definition WasmYAML.h:178
uint32_t Index
Definition WasmYAML.h:179
Definition WasmYAML.h:182
std::vector< ComdatEntry > Entries
Definition WasmYAML.h:184
StringRef Name
Definition WasmYAML.h:183
static bool classof(const Section *S)
Definition WasmYAML.h:200
yaml::BinaryRef Payload
Definition WasmYAML.h:205
CustomSection(StringRef Name)
Definition WasmYAML.h:197
StringRef Name
Definition WasmYAML.h:204
uint32_t Count
Definition WasmYAML.h:416
DataCountSection()
Definition WasmYAML.h:410
static bool classof(const Section *S)
Definition WasmYAML.h:412
std::vector< DataSegment > Segments
Definition WasmYAML.h:406
DataSection()
Definition WasmYAML.h:400
static bool classof(const Section *S)
Definition WasmYAML.h:402
Definition WasmYAML.h:124
yaml::BinaryRef Content
Definition WasmYAML.h:129
uint32_t InitFlags
Definition WasmYAML.h:126
InitExpr Offset
Definition WasmYAML.h:128
uint32_t SectionOffset
Definition WasmYAML.h:125
uint32_t MemoryIndex
Definition WasmYAML.h:127
Definition WasmYAML.h:214
SymbolFlags Flags
Definition WasmYAML.h:216
StringRef Name
Definition WasmYAML.h:215
Definition WasmYAML.h:208
SymbolFlags Flags
Definition WasmYAML.h:211
StringRef Module
Definition WasmYAML.h:209
StringRef Field
Definition WasmYAML.h:210
std::vector< StringRef > RuntimePath
Definition WasmYAML.h:234
uint32_t TableAlignment
Definition WasmYAML.h:230
std::vector< DylinkImportInfo > ImportInfo
Definition WasmYAML.h:232
DylinkSection()
Definition WasmYAML.h:220
std::vector< StringRef > Needed
Definition WasmYAML.h:231
std::vector< DylinkExportInfo > ExportInfo
Definition WasmYAML.h:233
static bool classof(const Section *S)
Definition WasmYAML.h:222
uint32_t TableSize
Definition WasmYAML.h:229
uint32_t MemoryAlignment
Definition WasmYAML.h:228
uint32_t MemorySize
Definition WasmYAML.h:227
std::vector< ElemSegment > Segments
Definition WasmYAML.h:386
ElemSection()
Definition WasmYAML.h:380
static bool classof(const Section *S)
Definition WasmYAML.h:382
uint32_t TableNumber
Definition WasmYAML.h:77
uint32_t Flags
Definition WasmYAML.h:76
std::vector< uint32_t > Functions
Definition WasmYAML.h:80
InitExpr Offset
Definition WasmYAML.h:79
ValueType ElemKind
Definition WasmYAML.h:78
static bool classof(const Section *S)
Definition WasmYAML.h:362
std::vector< Export > Exports
Definition WasmYAML.h:366
ExportSection()
Definition WasmYAML.h:360
uint32_t Index
Definition WasmYAML.h:63
StringRef Name
Definition WasmYAML.h:61
ExportKind Kind
Definition WasmYAML.h:62
Definition WasmYAML.h:142
std::string Name
Definition WasmYAML.h:144
FeaturePolicyPrefix Prefix
Definition WasmYAML.h:143
FunctionSection()
Definition WasmYAML.h:310
std::vector< uint32_t > FunctionTypes
Definition WasmYAML.h:316
static bool classof(const Section *S)
Definition WasmYAML.h:312
Definition WasmYAML.h:109
std::vector< LocalDecl > Locals
Definition WasmYAML.h:111
uint32_t Index
Definition WasmYAML.h:110
yaml::BinaryRef Body
Definition WasmYAML.h:112
static bool classof(const Section *S)
Definition WasmYAML.h:352
std::vector< Global > Globals
Definition WasmYAML.h:356
GlobalSection()
Definition WasmYAML.h:350
ValueType Type
Definition WasmYAML.h:85
bool Mutable
Definition WasmYAML.h:86
InitExpr Init
Definition WasmYAML.h:87
uint32_t Index
Definition WasmYAML.h:84
std::vector< Import > Imports
Definition WasmYAML.h:306
static bool classof(const Section *S)
Definition WasmYAML.h:302
ImportSection()
Definition WasmYAML.h:300
StringRef Field
Definition WasmYAML.h:93
Limits Memory
Definition WasmYAML.h:98
uint32_t SigIndex
Definition WasmYAML.h:96
StringRef Module
Definition WasmYAML.h:92
Global GlobalImport
Definition WasmYAML.h:100
uint32_t TagIndex
Definition WasmYAML.h:99
Table TableImport
Definition WasmYAML.h:97
Import()
Definition WasmYAML.h:91
ExportKind Kind
Definition WasmYAML.h:94
wasm::WasmInitExprMVP Inst
Definition WasmYAML.h:70
yaml::BinaryRef Body
Definition WasmYAML.h:71
bool Extended
Definition WasmYAML.h:68
InitExpr()
Definition WasmYAML.h:67
Definition WasmYAML.h:172
uint32_t Priority
Definition WasmYAML.h:173
uint32_t Symbol
Definition WasmYAML.h:174
yaml::Hex32 Minimum
Definition WasmYAML.h:49
yaml::Hex32 PageSize
Definition WasmYAML.h:51
LimitFlags Flags
Definition WasmYAML.h:48
yaml::Hex32 Maximum
Definition WasmYAML.h:50
std::vector< InitFunction > InitFunctions
Definition WasmYAML.h:261
std::vector< SymbolInfo > SymbolTable
Definition WasmYAML.h:259
std::vector< SegmentInfo > SegmentInfos
Definition WasmYAML.h:260
uint32_t Version
Definition WasmYAML.h:258
static bool classof(const Section *S)
Definition WasmYAML.h:253
LinkingSection()
Definition WasmYAML.h:251
std::vector< Comdat > Comdats
Definition WasmYAML.h:262
Definition WasmYAML.h:104
uint32_t Count
Definition WasmYAML.h:106
ValueType Type
Definition WasmYAML.h:105
std::vector< Limits > Memories
Definition WasmYAML.h:336
MemorySection()
Definition WasmYAML.h:330
static bool classof(const Section *S)
Definition WasmYAML.h:332
Definition WasmYAML.h:132
uint32_t Index
Definition WasmYAML.h:133
StringRef Name
Definition WasmYAML.h:134
NameSection()
Definition WasmYAML.h:238
std::vector< NameEntry > DataSegmentNames
Definition WasmYAML.h:247
static bool classof(const Section *S)
Definition WasmYAML.h:240
std::vector< NameEntry > FunctionNames
Definition WasmYAML.h:245
std::vector< NameEntry > GlobalNames
Definition WasmYAML.h:246
Definition WasmYAML.h:419
std::vector< std::unique_ptr< Section > > Sections
Definition WasmYAML.h:421
FileHeader Header
Definition WasmYAML.h:420
Definition WasmYAML.h:137
std::string Name
Definition WasmYAML.h:138
std::string Version
Definition WasmYAML.h:139
Definition WasmYAML.h:115
int64_t Addend
Definition WasmYAML.h:121
yaml::Hex32 Offset
Definition WasmYAML.h:120
RelocType Type
Definition WasmYAML.h:116
uint32_t Index
Definition WasmYAML.h:117
Definition WasmYAML.h:187
Section(SectionType SecType)
Definition WasmYAML.h:188
std::optional< uint8_t > HeaderSecSizeEncodingLen
Definition WasmYAML.h:193
std::vector< Relocation > Relocations
Definition WasmYAML.h:192
SectionType Type
Definition WasmYAML.h:191
Definition WasmYAML.h:147
uint32_t Index
Definition WasmYAML.h:148
SegmentFlags Flags
Definition WasmYAML.h:151
StringRef Name
Definition WasmYAML.h:149
uint32_t Alignment
Definition WasmYAML.h:150
Definition WasmYAML.h:154
SignatureForm Form
Definition WasmYAML.h:156
std::vector< ValueType > ReturnTypes
Definition WasmYAML.h:158
std::vector< ValueType > ParamTypes
Definition WasmYAML.h:157
uint32_t Index
Definition WasmYAML.h:155
StartSection()
Definition WasmYAML.h:370
static bool classof(const Section *S)
Definition WasmYAML.h:372
uint32_t StartFunction
Definition WasmYAML.h:376
Definition WasmYAML.h:161
wasm::WasmDataReference DataRef
Definition WasmYAML.h:168
SymbolFlags Flags
Definition WasmYAML.h:165
SymbolKind Kind
Definition WasmYAML.h:164
StringRef Name
Definition WasmYAML.h:163
uint32_t ElementIndex
Definition WasmYAML.h:167
uint32_t Index
Definition WasmYAML.h:162
TableSection()
Definition WasmYAML.h:320
static bool classof(const Section *S)
Definition WasmYAML.h:322
std::vector< Table > Tables
Definition WasmYAML.h:326
uint32_t Index
Definition WasmYAML.h:57
Limits TableLimits
Definition WasmYAML.h:56
TableType ElemType
Definition WasmYAML.h:55
TargetFeaturesSection()
Definition WasmYAML.h:279
std::vector< FeatureEntry > Features
Definition WasmYAML.h:286
static bool classof(const Section *S)
Definition WasmYAML.h:281
TypeSection()
Definition WasmYAML.h:290
static bool classof(const Section *S)
Definition WasmYAML.h:292
std::vector< Signature > Signatures
Definition WasmYAML.h:296
static void mapping(IO &IO, WasmYAML::ComdatEntry &ComdatEntry)
static void mapping(IO &IO, WasmYAML::Comdat &Comdat)
static void mapping(IO &IO, WasmYAML::DataSegment &Segment)
static void mapping(IO &IO, WasmYAML::DylinkExportInfo &Info)
static void mapping(IO &IO, WasmYAML::DylinkImportInfo &Info)
static void mapping(IO &IO, WasmYAML::ElemSegment &Segment)
static void mapping(IO &IO, WasmYAML::Export &Export)
static void mapping(IO &IO, WasmYAML::FeatureEntry &FeatureEntry)
static void mapping(IO &IO, WasmYAML::Function &Function)
static void mapping(IO &IO, WasmYAML::Global &Global)
static void mapping(IO &IO, WasmYAML::Import &Import)
static void mapping(IO &IO, WasmYAML::InitExpr &Expr)
static void mapping(IO &IO, WasmYAML::InitFunction &Init)
static void mapping(IO &IO, WasmYAML::Limits &Limits)
static void mapping(IO &IO, WasmYAML::LocalDecl &LocalDecl)
static void mapping(IO &IO, WasmYAML::NameEntry &NameEntry)
static void mapping(IO &IO, WasmYAML::Object &Object)
static void mapping(IO &IO, WasmYAML::ProducerEntry &ProducerEntry)
static void mapping(IO &IO, WasmYAML::Relocation &Relocation)
static void mapping(IO &IO, WasmYAML::SegmentInfo &SegmentInfo)
static void mapping(IO &IO, WasmYAML::Signature &Signature)
static void mapping(IO &IO, WasmYAML::SymbolInfo &Info)
static void mapping(IO &IO, WasmYAML::Table &Table)
static void mapping(IO &IO, std::unique_ptr< WasmYAML::Section > &Section)
This class should be specialized by any type that needs to be converted to/from a YAML mapping.
static void bitset(IO &IO, WasmYAML::LimitFlags &Value)
static void bitset(IO &IO, WasmYAML::SegmentFlags &Value)
static void bitset(IO &IO, WasmYAML::SymbolFlags &Value)
This class should be specialized by any integer type that is a union of bit values and the YAML repre...
static void enumeration(IO &IO, WasmYAML::ComdatKind &Kind)
static void enumeration(IO &IO, WasmYAML::ExportKind &Kind)
static void enumeration(IO &IO, WasmYAML::FeaturePolicyPrefix &Prefix)
static void enumeration(IO &IO, WasmYAML::Opcode &Opcode)
static void enumeration(IO &IO, WasmYAML::RelocType &Kind)
static void enumeration(IO &IO, WasmYAML::SectionType &Type)
static void enumeration(IO &IO, WasmYAML::SymbolKind &Kind)
static void enumeration(IO &IO, WasmYAML::TableType &Type)
static void enumeration(IO &IO, WasmYAML::ValueType &Type)
This class should be specialized by any integral type that converts to/from a YAML scalar where there...