16#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_ASMPARSER_TYPECHECK_H
17#define LLVM_LIB_TARGET_WEBASSEMBLY_ASMPARSER_TYPECHECK_H
32 struct Ref :
public std::monostate {};
33 struct Any :
public std::monostate {};
34 struct Polymorphic :
public std::monostate {};
35 using StackType = std::variant<wasm::ValType, Ref, Any, Polymorphic>;
55 bool ExactMatch =
false);
57 bool ExactMatch =
false);
59 bool ExactMatch =
false);
61 bool ExactMatch =
false);
62 bool popType(
SMLoc ErrorLoc, StackType
Type);
63 bool popRefType(
SMLoc ErrorLoc);
64 bool popAnyType(
SMLoc ErrorLoc);
66 void pushType(StackType
Type) { Stack.push_back(
Type); }
67 bool match(StackType TypeA, StackType TypeB);
74 void dumpTypeStack(
Twine Msg);
75 bool typeError(
SMLoc ErrorLoc,
const Twine &Msg);
85 bool checkTryTable(
SMLoc ErrorLoc,
const MCInst &Inst);
99 BlockInfoStack.
clear();
mir Rename Register Operands
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Generic assembler parser interface, for use by target specific assembly parsers.
Instances of this class represent a single low-level machine instruction.
Interface to description of machine instruction set.
Instances of this class represent operands of the MCInst class.
Represent a reference to a symbol from inside an expression.
Represents a location in source code.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
The instances of the Type class are immutable: once they are created, they are never changed.
bool endOfFunction(SMLoc ErrorLoc, bool ExactMatch)
void funcDecl(const wasm::WasmSignature &Sig)
void setLastSig(const wasm::WasmSignature &Sig)
void localDecl(const SmallVectorImpl< wasm::ValType > &Locals)
bool typeCheck(SMLoc ErrorLoc, const MCInst &Inst, OperandVector &Operands)
This is an optimization pass for GlobalISel generic memory operations.