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

274 std::vector Tools;

275 std::vector SDKs;

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

> Sections;

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...