Beaver.Pattern (beaver v0.4.0)

Beaver pattern DSL for MLIR, a PDL frontend in Elixir.

Summary

Functions

The difference between a pdl.operation creation in a match body and a rewrite body

Evaluate SSA as ops in a rewrite block. Note that function is only public so that it could be used in a AST.

Functions

attribute(a)

(macro)

create_operation(env, op_name, operands, attributes, results)

The difference between a pdl.operation creation in a match body and a rewrite body:

  • in a match body, pdl.attribute/pdl.operand/pdl.result will be generated for unbound variables
  • in a rewrite body, all variables are considered bound before creation pdl ops

defpat(call, list)

(macro)

eval_rewrite(ssa)

Evaluate SSA as ops in a rewrite block. Note that function is only public so that it could be used in a AST.

replace(root, opts)

(macro)

rewrite(root, list)

(macro)

type()

(macro)

type(t)

(macro)

value()

(macro)