[mlir][DeclarativeParser] Add support for the TypesMatchWith trait.
authorRiver Riddle <riddleriver@gmail.com>
Fri, 21 Feb 2020 21:19:03 +0000 (13:19 -0800)
committerRiver Riddle <riddleriver@gmail.com>
Fri, 21 Feb 2020 23:15:31 +0000 (15:15 -0800)
commit26222db01b079023d0fe3bb60f2c1b38f4f19d5a
treed10da93f6049d90e456f045e926b71db0195905e
parent393f4e8ac263d0debecb571bbab69bcf31474cdb
[mlir][DeclarativeParser] Add support for the TypesMatchWith trait.

This allows for injecting type constraints that are not direct 1-1 mappings, for example when one type is equal to the element type of another. This allows for moving over several more parsers to the declarative form.

Differential Revision: https://reviews.llvm.org/D74648
mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
mlir/include/mlir/Dialect/VectorOps/VectorOps.td
mlir/include/mlir/IR/OpImplementation.h
mlir/include/mlir/IR/OperationSupport.h
mlir/lib/Dialect/StandardOps/IR/Ops.cpp
mlir/lib/Dialect/VectorOps/VectorOps.cpp
mlir/test/IR/invalid-ops.mlir
mlir/tools/mlir-tblgen/OpFormatGen.cpp