Lines Matching full:wasm

1 //===- WasmYAML.cpp - Wasm YAMLIO implementation --------------------------===//
9 // This file defines classes for handling the YAML representation of wasm.
15 #include "llvm/BinaryFormat/Wasm.h"
40 IO.mapTag("!WASM", true);
176 case wasm::WASM_SEC_CUSTOM: {
211 case wasm::WASM_SEC_TYPE:
216 case wasm::WASM_SEC_IMPORT:
221 case wasm::WASM_SEC_FUNCTION:
226 case wasm::WASM_SEC_TABLE:
231 case wasm::WASM_SEC_MEMORY:
236 case wasm::WASM_SEC_TAG:
241 case wasm::WASM_SEC_GLOBAL:
246 case wasm::WASM_SEC_EXPORT:
251 case wasm::WASM_SEC_START:
256 case wasm::WASM_SEC_ELEM:
261 case wasm::WASM_SEC_CODE:
266 case wasm::WASM_SEC_DATA:
271 case wasm::WASM_SEC_DATACOUNT:
283 #define ECase(X) IO.enumCase(Type, #X, wasm::WASM_SEC_##X);
343 #define ECase(X) IO.enumCase(Kind, #X, wasm::WASM_FEATURE_PREFIX_##X);
373 if (!IO.outputting() || Limits.Flags & wasm::WASM_LIMITS_FLAG_HAS_MAX)
381 Segment.Flags & wasm::WASM_ELEM_SEGMENT_HAS_TABLE_NUMBER)
384 Segment.Flags & wasm::WASM_ELEM_SEGMENT_MASK_HAS_ELEM_DESC)
397 if (Import.Kind == wasm::WASM_EXTERNAL_FUNCTION ||
398 Import.Kind == wasm::WASM_EXTERNAL_TAG) {
400 } else if (Import.Kind == wasm::WASM_EXTERNAL_GLOBAL) {
403 } else if (Import.Kind == wasm::WASM_EXTERNAL_TABLE) {
405 } else if (Import.Kind == wasm::WASM_EXTERNAL_MEMORY) {
437 case wasm::WASM_OPCODE_I32_CONST:
440 case wasm::WASM_OPCODE_I64_CONST:
443 case wasm::WASM_OPCODE_F32_CONST:
446 case wasm::WASM_OPCODE_F64_CONST:
449 case wasm::WASM_OPCODE_GLOBAL_GET:
452 case wasm::WASM_OPCODE_REF_NULL: {
453 WasmYAML::ValueType Ty = wasm::WASM_TYPE_EXTERNREF;
465 if (Segment.InitFlags & wasm::WASM_DATA_SEGMENT_HAS_MEMINDEX) {
470 if ((Segment.InitFlags & wasm::WASM_DATA_SEGMENT_IS_PASSIVE) == 0) {
473 Segment.Offset.Inst.Opcode = wasm::WASM_OPCODE_I32_CONST;
487 #define ECase(X) IO.enumCase(Kind, #X, wasm::WASM_COMDAT_##X);
510 if (Info.Kind != wasm::WASM_SYMBOL_TYPE_SECTION)
513 if (Info.Kind == wasm::WASM_SYMBOL_TYPE_FUNCTION) {
515 } else if (Info.Kind == wasm::WASM_SYMBOL_TYPE_GLOBAL) {
517 } else if (Info.Kind == wasm::WASM_SYMBOL_TYPE_TABLE) {
519 } else if (Info.Kind == wasm::WASM_SYMBOL_TYPE_TAG) {
521 } else if (Info.Kind == wasm::WASM_SYMBOL_TYPE_DATA) {
522 if ((Info.Flags & wasm::WASM_SYMBOL_UNDEFINED) == 0) {
523 if ((Info.Flags & wasm::WASM_SYMBOL_ABSOLUTE) == 0) {
529 } else if (Info.Kind == wasm::WASM_SYMBOL_TYPE_SECTION) {
551 #define BCase(X) IO.bitSetCase(Value, #X, wasm::WASM_LIMITS_FLAG_##X)
560 #define BCase(X) IO.bitSetCase(Value, #X, wasm::WASM_SEG_FLAG_##X)
570 IO.maskedBitSetCase(Value, #X, wasm::WASM_SYMBOL_##X, wasm::WASM_SYMBOL_##M)
587 #define ECase(X) IO.enumCase(Kind, #X, wasm::WASM_SYMBOL_TYPE_##X);
599 #define CONCAT(X) (uint32_t) wasm::ValType::X
615 #define ECase(X) IO.enumCase(Kind, #X, wasm::WASM_EXTERNAL_##X);
626 #define ECase(X) IO.enumCase(Code, #X, wasm::WASM_OPCODE_##X);
639 #define CONCAT(X) (uint32_t) wasm::ValType::X
650 #define WASM_RELOC(name, value) IO.enumCase(Type, #name, wasm::name);