‘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