Module walrus::ir

source ·
Expand description

Intermediate representation for instructions.

The goal is to match wasm instructions as closely as possible, but translate the stack machine into an instruction tree. Additionally all control frames are representd as Blocks.

Structs

Enums

  • The different kinds of atomic rmw operations
  • The different kinds of atomic rmw operations
  • Possible binary operations in wasm
  • The kinds of extended loads which can happen
  • An enum of all the different kinds of wasm instructions.
  • The type of an instruction sequence.
  • The different kinds of load instructions that are part of a Load IR node
  • The different kinds of load instructions that are part of a LoadSimd IR node
  • The different kinds of store instructions that are part of a Store IR node
  • Possible unary operations in wasm
  • Constant values that can show up in WebAssembly

Traits

  • A visitor is a set of callbacks that are called when a traversal (such as dfs_in_order) is walking an instruction tree.
  • A mutable version of Visitor.

Functions

  • Perform an intra-procedural, depth-first, in-order traversal of the IR.
  • Perform an intra-procedural, depth-first, pre-order, mutable traversal of the IR.

Type Aliases