llvm-project/mlir/test/IR
Aart Bik 7714b405a0 [mlir] introduce "encoding" attribute to tensor type
This CL introduces a generic attribute (called "encoding") on tensors.
The attribute currently does not carry any concrete information, but the type
system already correctly determines that tensor<8xi1,123> != tensor<8xi1,321>.
The attribute will be given meaning through an interface in subsequent CLs.

See ongoing discussion on discourse:

[RFC] Introduce a sparse tensor type to core MLIR
https://llvm.discourse.group/t/rfc-introduce-a-sparse-tensor-type-to-core-mlir/2944

A sparse tensor will look something like this:

```
// named alias with all properties we hold dear:
#CSR = {
  // individual named attributes
}

// actual sparse tensor type:
tensor<?x?xf64, #CSR>
```

I see the following rough 5 step plan going forward:

(1) introduce this format attribute in this CL, currently still empty
(2) introduce attribute interface that gives it "meaning", focused on sparse in first phase
(3) rewrite sparse compiler to use new type, remove linalg interface and "glue"
(4) teach passes to deal with new attribute, by rejecting/asserting on non-empty attribute as simplest solution, or doing meaningful rewrite in the longer run
(5) add FE support, document, test, publicize new features, extend "format" meaning to other domains if useful

Reviewed By: stellaraccident, bondhugula

Differential Revision: https://reviews.llvm.org/D99548
2021-04-12 10:37:15 -07:00
..
affine-map.mlir [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
attribute.mlir [mlir] Emit errors when creating unregistered attributes/types when not allowed 2021-04-02 12:45:35 -07:00
check-help-output.mlir Add custom lilith script. 2019-03-29 13:02:57 -07:00
core-ops.mlir [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +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 Define a `NoTerminator` traits that allows operations with a single block region to not provide a terminator 2021-03-25 03:59:03 +00:00
invalid-ops.mlir [mlir] add support for index type in vectors. 2021-04-08 08:17:13 +00:00
invalid-unregistered.mlir [mlir] Emit errors when creating unregistered attributes/types when not allowed 2021-04-02 12:45:35 -07:00
invalid.mlir [mlir] introduce "encoding" attribute to tensor type 2021-04-12 10:37:15 -07:00
locations.mlir [mlir][AsmPrinter] Properly escape strings when printing locations 2021-01-15 17:14:57 -08:00
memory-ops.mlir [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +01:00
module-op.mlir Define a `NoTerminator` traits that allows operations with a single block region to not provide a terminator 2021-03-25 03:59:03 +00: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] introduce "encoding" attribute to tensor type 2021-04-12 10:37:15 -07:00
pretty-attributes.mlir [mlir][IR] Move the remaining builtin attributes to ODS. 2021-03-16 16:31:53 -07: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 Define a `NoTerminator` traits that allows operations with a single block region to not provide a terminator 2021-03-25 03:59:03 +00:00
print-ir-nesting.mlir Define a `NoTerminator` traits that allows operations with a single block region to not provide a terminator 2021-03-25 03:59: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] Fix `VariadicRegion` code generation for `NoTerminator` Ops 2021-03-26 14:24:36 +03: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 [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +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 Add a mechanism for Dialects to provide a fallback for OpInterface 2021-03-24 08:41:40 +00: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] verify that operand/result_segment_sizes attributes have i32 element 2021-03-23 18:26:31 +01: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