'memref_ext' Dialect

extended memref dialect

Operations

memref_ext.alloc_workspace (::bishengir::memref_ext::AllocWorkspaceOp)

Workspace memory allocation operation.

Syntax:

operation ::= `memref_ext.alloc_workspace` `(`$dynamicSize`)` (`from` $workspaceArg^)? ( `offset` `=` `[`$offset^`]`)?
              attr-dict `:` (`from` type($workspaceArg)^ `to`)? type($memref)

The alloc_workspace operation allocates a region of workspace memory. Example:

memref_ext.alloc_workspace() : memref<100xi8>
memref_ext.alloc_workspace(%dynamic) : memref<2x?xi32>
memref_ext.alloc_workspace(%dynamic) from %arg offset = [%offset] : from memref<?xi8> to memref<2x?xi32>

Traits: AttrSizedOperandSegments

Operands

Operand Description
workspaceArg memref of any type values
dynamicSize variadic of index
offset variadic of index

Results

Result Description
memref memref of any type values

Enums

CmpFPredicate

allowed 64-bit signless integer cases: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

Cases

Symbol Value String
AlwaysFalse 0 false
OEQ 1 oeq
OGT 2 ogt
OGE 3 oge
OLT 4 olt
OLE 5 ole
ONE 6 one
ORD 7 ord
UEQ 8 ueq
UGT 9 ugt
UGE 10 uge
ULT 11 ult
ULE 12 ule
UNE 13 une
UNO 14 uno
AlwaysTrue 15 true

CmpIPredicate

allowed 64-bit signless integer cases: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Cases

Symbol Value String
eq 0 eq
ne 1 ne
slt 2 slt
sle 3 sle
sgt 4 sgt
sge 5 sge
ult 6 ult
ule 7 ule
ugt 8 ugt
uge 9 uge

IntegerOverflowFlags

Integer overflow arith flags

Cases

Symbol Value String
none 0 none
nsw 1 nsw
nuw 2 nuw

RoundingMode

Floating point rounding mode

Cases

Symbol Value String
to_nearest_even 0 to_nearest_even
downward 1 downward
upward 2 upward
toward_zero 3 toward_zero
to_nearest_away 4 to_nearest_away

AtomicRMWKind

allowed 64-bit signless integer cases: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14

Cases

Symbol Value String
addf 0 addf
addi 1 addi
assign 2 assign
maximumf 3 maximumf
maxs 4 maxs
maxu 5 maxu
minimumf 6 minimumf
mins 7 mins
minu 8 minu
mulf 9 mulf
muli 10 muli
ori 11 ori
andi 12 andi
maxnumf 13 maxnumf
minnumf 14 minnumf

FastMathFlags

Floating point fast math flags

Cases

Symbol Value String
none 0 none
reassoc 1 reassoc
nnan 2 nnan
ninf 4 ninf
nsz 8 nsz
arcp 16 arcp
contract 32 contract
afn 64 afn
fast 127 fast