‘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