llvm-project/mlir/test/IR
Vladislav Vinogradov f3bf5c053b [mlir] Model MemRef memory space as Attribute
Based on the following discussion:
https://llvm.discourse.group/t/rfc-memref-memory-shape-as-attribute/2229

The goal of the change is to make memory space property to have more
expressive representation, rather then "magic" integer values.

It will allow to have more clean ASM form:

```
gpu.func @test(%arg0: memref<100xf32, "workgroup">)

// instead of

gpu.func @test(%arg0: memref<100xf32, 3>)
```

Explanation for `Attribute` choice instead of plain `string`:

* `Attribute` classes allow to use more type safe API based on RTTI.
* `Attribute` classes provides faster comparison operator based on
  pointer comparison in contrast to generic string comparison.
* `Attribute` allows to store more complex things, like structs or dictionaries.
  It will allows to have more complex memory space hierarchy.

This commit preserve old integer-based API and implements it on top
of the new one.

Depends on D97476

Reviewed By: rriddle, mehdi_amini

Differential Revision: https://reviews.llvm.org/D96145
2021-03-10 12:57:27 +03:00
..
affine-map.mlir [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
attribute.mlir Make ops with StructAttr's actually verify `isa<TheStruct>`. 2020-04-28 14:00:18 -07:00
check-help-output.mlir Add custom lilith script. 2019-03-29 13:02:57 -07:00
core-ops.mlir Revert "[MLIR] Create memref dialect and move several dialect-specific ops from std." 2021-02-18 12:49:52 +01:00
dense-elements-hex.mlir [mlir] Convert raw data in dense element attributes for big-endian machines. 2020-10-28 17:06:16 -07:00
diagnostic-handler.mlir [mlir][Diagnostics] Don't print note source line if it is the same as the previous diagnostic 2020-03-29 21:43:44 -07:00
invalid-affinemap.mlir [mlir][NFC] Remove usernames and google bug numbers from TODO comments. 2020-07-07 01:40:52 -07:00
invalid-func-op.mlir [MLIR] Disallow `sym_visibility`, `sym_name` and `type` attributes in the parsed attribute dictionary. 2021-01-12 09:11:02 -08:00
invalid-locations.mlir [mlir][Asm] Add support for resolving operation locations after parsing has finished 2020-11-12 23:34:36 -08:00
invalid-module-op.mlir [MLIR][NFC] Fix mix up between dialect attribute values and names 2020-12-03 02:34:15 +05:30
invalid-ops.mlir Revert "[MLIR] Create memref dialect and move several dialect-specific ops from std." 2021-02-18 12:49:52 +01:00
invalid.mlir [mlir] Model MemRef memory space as Attribute 2021-03-10 12:57:27 +03:00
locations.mlir [mlir][AsmPrinter] Properly escape strings when printing locations 2021-01-15 17:14:57 -08:00
memory-ops.mlir Revert "[MLIR] Create memref dialect and move several dialect-specific ops from std." 2021-02-18 12:49:52 +01:00
module-op.mlir [mlir][Asm] Add support for using an alias for trailing operation locations 2020-11-09 21:54:47 -08:00
op-stats.mlir Add a flag on the context to protect against creation of operations in unregistered dialects 2020-03-30 19:37:31 +00:00
opaque_locations.mlir [mlir][Asm] Add support for using an alias for trailing operation locations 2020-11-09 21:54:47 -08:00
operand.mlir [MLIR] Better message for FuncOp type mismatch 2020-10-02 09:31:44 -07:00
parser.mlir [mlir] Model MemRef memory space as Attribute 2021-03-10 12:57:27 +03:00
pretty-attributes.mlir Don't elide splat attributes during printing 2020-11-27 14:42:26 +00:00
pretty-locations.mlir Add a flag on the context to protect against creation of operations in unregistered dialects 2020-03-30 19:37:31 +00:00
pretty-region-args.mlir Add a flag on the context to protect against creation of operations in unregistered dialects 2020-03-30 19:37:31 +00:00
print-attr-type-aliases.mlir Fix omitted kw in type alias printer 2021-01-31 14:06:58 -08:00
print-ir-defuse.mlir Add a doc/tutorial on traversing the IR 2020-09-08 00:07:03 +00:00
print-ir-nesting.mlir Add a doc/tutorial on traversing the IR 2020-09-08 00:07:03 +00:00
print-op-local-scope.mlir Change filecheck default to dump input on failure 2020-06-09 18:57:46 +00:00
print-op-on-diagnostic.mlir [mlir][IR] Manually register command line options for MLIRContext and AsmPrinter 2020-04-11 23:13:00 -07:00
recursive-type.mlir [mlir] Support for mutable types 2020-07-27 13:07:44 +02:00
region.mlir [mlir][ODS] Add support for variadic regions. 2020-04-05 01:03:38 -07:00
repro_b120295301.mlir Change the attribute dictionary syntax to separate name and value with '='. 2019-06-25 19:06:34 -07:00
result.mlir Split test-specific passes out of mlir-opt 2019-06-24 17:47:12 -07:00
slice.mlir Revert "[MLIR] Create memref dialect and move several dialect-specific ops from std." 2021-02-18 12:49:52 +01:00
test-func-erase-arg.mlir Add FuncOp::eraseArgument 2019-11-13 10:59:55 -08:00
test-func-erase-result.mlir [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
test-func-set-type.mlir [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
test-matchers.mlir [mlir] Add a new context flag for disabling/enabling multi-threading 2020-05-02 12:32:25 -07:00
test-side-effects.mlir [mlir] Add support for referencing a SymbolRefAttr in a SideEffectInstance 2020-11-18 18:38:43 -08:00
test-symbol-rauw.mlir [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
test-symbol-uses.mlir [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
traits.mlir [mlir] Print bad size in AttrSizedOperandSegments 2020-12-12 13:12:31 -05:00
visitors.mlir [mlir] Add 'Skip' result to Operation visitor 2021-03-06 00:02:20 +02:00
wrapping_op.mlir [mlir][Asm] Add support for using an alias for trailing operation locations 2020-11-09 21:54:47 -08:00
zero_whitespace.mlir Isolate zero_whitespace parser test into its own file. 2020-04-22 19:58:40 -07:00