Use matcher sugars for cannonicalization pattern matching
authorLei Zhang <antiagainst@google.com>
Mon, 29 Oct 2018 17:22:49 +0000 (10:22 -0700)
committerjpienaar <jpienaar@google.com>
Fri, 29 Mar 2019 20:43:44 +0000 (13:43 -0700)
commit582b0761c6365a07d9ef48d2bd9daa4873a43b39
treef4b00020523ed8b78eafdd10b48424380be400f1
parent1ec77cecf211c2bbb1cc41562756bb05bb46389b
Use matcher sugars for cannonicalization pattern matching

- Added a mechanism for specifying pattern matching more concisely like LLVM.
- Added support for canonicalization of addi/muli over vector/tensor splat
- Added ValueType to Attribute class hierarchy
- Allowed creating constant splat

PiperOrigin-RevId: 219149621
mlir/include/mlir/IR/Attributes.h
mlir/include/mlir/IR/Matchers.h [new file with mode: 0644]
mlir/include/mlir/IR/PatternMatch.h
mlir/lib/IR/BuiltinOps.cpp
mlir/lib/StandardOps/StandardOps.cpp
mlir/test/IR/core-ops.mlir
mlir/test/Transforms/canonicalize.mlir