[mlir][ASM] Refactor how attribute/type aliases are specified.
authorRiver Riddle <riddleriver@gmail.com>
Fri, 30 Oct 2020 07:30:59 +0000 (00:30 -0700)
committerRiver Riddle <riddleriver@gmail.com>
Fri, 30 Oct 2020 07:39:46 +0000 (00:39 -0700)
commita463ea50a4d6d256d91778ec0b40bc6ed6f303f7
treeaf420bd23e3e96fbbcc3076c852931218414d7b4
parent1455259546996dd86236ef8c70bc65a27b457ba7
[mlir][ASM] Refactor how attribute/type aliases are specified.

Previously they were separated into "instance" and "kind" aliases, and also required that the dialect know ahead of time all of the instances that would have a corresponding alias. This approach was very clunky and not ergonomic to interact with. The new approach is to provide the dialect with an instance  of an attribute/type to provide an alias for, fully replacing the original split approach.

Differential Revision: https://reviews.llvm.org/D89354
13 files changed:
mlir/include/mlir/IR/OpImplementation.h
mlir/lib/IR/AsmPrinter.cpp
mlir/lib/IR/MLIRContext.cpp
mlir/test/Dialect/Affine/affine-loop-invariant-code-motion.mlir
mlir/test/Dialect/Affine/canonicalize.mlir
mlir/test/Dialect/Affine/ops.mlir
mlir/test/Dialect/SCF/for-loop-specialization.mlir
mlir/test/Dialect/SCF/parallel-loop-tiling.mlir
mlir/test/IR/memory-ops.mlir
mlir/test/IR/print-attr-type-aliases.mlir [new file with mode: 0644]
mlir/test/Transforms/loop-fusion.mlir
mlir/test/Transforms/loop-invariant-code-motion.mlir
mlir/test/lib/Dialect/Test/TestDialect.cpp