LLVM  8.0.1
Classes | Namespaces | Macros | Enumerations | Functions | Variables
Wasm.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "WasmRelocs.def"
Include dependency graph for Wasm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::wasm::WasmObjectHeader
 
struct  llvm::wasm::WasmDylinkInfo
 
struct  llvm::wasm::WasmExport
 
struct  llvm::wasm::WasmLimits
 
struct  llvm::wasm::WasmTable
 
struct  llvm::wasm::WasmInitExpr
 
struct  llvm::wasm::WasmGlobalType
 
struct  llvm::wasm::WasmGlobal
 
struct  llvm::wasm::WasmEventType
 
struct  llvm::wasm::WasmEvent
 
struct  llvm::wasm::WasmImport
 
struct  llvm::wasm::WasmLocalDecl
 
struct  llvm::wasm::WasmFunction
 
struct  llvm::wasm::WasmDataSegment
 
struct  llvm::wasm::WasmElemSegment
 
struct  llvm::wasm::WasmDataReference
 
struct  llvm::wasm::WasmRelocation
 
struct  llvm::wasm::WasmInitFunc
 
struct  llvm::wasm::WasmSymbolInfo
 
struct  llvm::wasm::WasmFunctionName
 
struct  llvm::wasm::WasmLinkingData
 
struct  llvm::wasm::WasmSignature
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::wasm
 

Macros

#define WASM_RELOC(name, value)   name = value,
 

Enumerations

enum  : unsigned {
  llvm::wasm::WASM_SEC_CUSTOM = 0, llvm::wasm::WASM_SEC_TYPE = 1, llvm::wasm::WASM_SEC_IMPORT = 2, llvm::wasm::WASM_SEC_FUNCTION = 3,
  llvm::wasm::WASM_SEC_TABLE = 4, llvm::wasm::WASM_SEC_MEMORY = 5, llvm::wasm::WASM_SEC_GLOBAL = 6, llvm::wasm::WASM_SEC_EXPORT = 7,
  llvm::wasm::WASM_SEC_START = 8, llvm::wasm::WASM_SEC_ELEM = 9, llvm::wasm::WASM_SEC_CODE = 10, llvm::wasm::WASM_SEC_DATA = 11,
  llvm::wasm::WASM_SEC_DATACOUNT = 12, llvm::wasm::WASM_SEC_EVENT = 13
}
 
enum  : unsigned {
  llvm::wasm::WASM_TYPE_I32 = 0x7F, llvm::wasm::WASM_TYPE_I64 = 0x7E, llvm::wasm::WASM_TYPE_F32 = 0x7D, llvm::wasm::WASM_TYPE_F64 = 0x7C,
  llvm::wasm::WASM_TYPE_V128 = 0x7B, llvm::wasm::WASM_TYPE_FUNCREF = 0x70, llvm::wasm::WASM_TYPE_EXCEPT_REF = 0x68, llvm::wasm::WASM_TYPE_FUNC = 0x60,
  llvm::wasm::WASM_TYPE_NORESULT = 0x40
}
 
enum  : unsigned {
  llvm::wasm::WASM_EXTERNAL_FUNCTION = 0x0, llvm::wasm::WASM_EXTERNAL_TABLE = 0x1, llvm::wasm::WASM_EXTERNAL_MEMORY = 0x2, llvm::wasm::WASM_EXTERNAL_GLOBAL = 0x3,
  llvm::wasm::WASM_EXTERNAL_EVENT = 0x4
}
 
enum  : unsigned {
  llvm::wasm::WASM_OPCODE_END = 0x0b, llvm::wasm::WASM_OPCODE_GLOBAL_GET = 0x23, llvm::wasm::WASM_OPCODE_I32_CONST = 0x41, llvm::wasm::WASM_OPCODE_I64_CONST = 0x42,
  llvm::wasm::WASM_OPCODE_F32_CONST = 0x43, llvm::wasm::WASM_OPCODE_F64_CONST = 0x44
}
 
enum  : unsigned { llvm::wasm::WASM_LIMITS_FLAG_HAS_MAX = 0x1, llvm::wasm::WASM_LIMITS_FLAG_IS_SHARED = 0x2 }
 
enum  : unsigned { llvm::wasm::WASM_NAMES_FUNCTION = 0x1, llvm::wasm::WASM_NAMES_LOCAL = 0x2 }
 
enum  : unsigned { llvm::wasm::WASM_SEGMENT_INFO = 0x5, llvm::wasm::WASM_INIT_FUNCS = 0x6, llvm::wasm::WASM_COMDAT_INFO = 0x7, llvm::wasm::WASM_SYMBOL_TABLE = 0x8 }
 
enum  : unsigned { llvm::wasm::WASM_COMDAT_DATA = 0x0, llvm::wasm::WASM_COMDAT_FUNCTION = 0x1 }
 
enum  llvm::wasm::WasmSymbolType : unsigned {
  llvm::wasm::WASM_SYMBOL_TYPE_FUNCTION = 0x0, llvm::wasm::WASM_SYMBOL_TYPE_DATA = 0x1, llvm::wasm::WASM_SYMBOL_TYPE_GLOBAL = 0x2, llvm::wasm::WASM_SYMBOL_TYPE_SECTION = 0x3,
  llvm::wasm::WASM_SYMBOL_TYPE_EVENT = 0x4
}
 
enum  llvm::wasm::WasmEventAttribute : unsigned { llvm::wasm::WASM_EVENT_ATTRIBUTE_EXCEPTION = 0x0 }
 
enum  : unsigned
 
enum  llvm::wasm::ValType {
  llvm::wasm::ValType::I32 = WASM_TYPE_I32, llvm::wasm::ValType::I64 = WASM_TYPE_I64, llvm::wasm::ValType::F32 = WASM_TYPE_F32, llvm::wasm::ValType::F64 = WASM_TYPE_F64,
  llvm::wasm::ValType::V128 = WASM_TYPE_V128, llvm::wasm::ValType::EXCEPT_REF = WASM_TYPE_EXCEPT_REF
}
 

Functions

bool llvm::wasm::operator== (const WasmSignature &LHS, const WasmSignature &RHS)
 
bool llvm::wasm::operator!= (const WasmSignature &LHS, const WasmSignature &RHS)
 
bool llvm::wasm::operator== (const WasmGlobalType &LHS, const WasmGlobalType &RHS)
 
bool llvm::wasm::operator!= (const WasmGlobalType &LHS, const WasmGlobalType &RHS)
 
std::string llvm::wasm::toString (wasm::WasmSymbolType type)
 
std::string llvm::wasm::relocTypetoString (uint32_t type)
 

Variables

const char llvm::wasm::WasmMagic [] = {'\0', 'a', 's', 'm'}
 
const uint32_t llvm::wasm::WasmVersion = 0x1
 
const uint32_t llvm::wasm::WasmMetadataVersion = 0x2
 
const uint32_t llvm::wasm::WasmPageSize = 65536
 
const unsigned llvm::wasm::WASM_SYMBOL_BINDING_MASK = 0x3
 
const unsigned llvm::wasm::WASM_SYMBOL_VISIBILITY_MASK = 0xc
 
const unsigned llvm::wasm::WASM_SYMBOL_BINDING_GLOBAL = 0x0
 
const unsigned llvm::wasm::WASM_SYMBOL_BINDING_WEAK = 0x1
 
const unsigned llvm::wasm::WASM_SYMBOL_BINDING_LOCAL = 0x2
 
const unsigned llvm::wasm::WASM_SYMBOL_VISIBILITY_DEFAULT = 0x0
 
const unsigned llvm::wasm::WASM_SYMBOL_VISIBILITY_HIDDEN = 0x4
 
const unsigned llvm::wasm::WASM_SYMBOL_UNDEFINED = 0x10
 
const unsigned llvm::wasm::WASM_SYMBOL_EXPLICIT_NAME = 0x40
 

Macro Definition Documentation

◆ WASM_RELOC

#define WASM_RELOC (   name,
  value 
)    name = value,

Definition at line 290 of file Wasm.h.