llvm-project/mlir/test
River Riddle 80d7ac3bc7 [mlir] Allow for patterns to match any root kind.
Traditionally patterns have always had the root operation kind hardcoded to a specific operation name. This has worked well for quite some time, but it has certain limitations that make it undesirable. For example, some lowering have the same implementation for many different operations types with a few lowering entire dialects using the same pattern implementation. This problem has led to several "solutions":
a) Provide a template implementation to the user so that they can instantiate it for each operation combination, generally requiring the inclusion of the auto-generated operation definition file.
b) Use a non-templated pattern that allows for providing the name of the operation to match
  - No one ever does this, because enumerating operation names can be cumbersome and so this quickly devolves into solution a.

This revision removes the restriction that patterns have a hardcoded root type, and allows for a class patterns that could match "any" operation type. The major downside of root-agnostic patterns is that they make certain pattern analyses more difficult, so it is still very highly encouraged that an operation specific pattern be used whenever possible.

Differential Revision: https://reviews.llvm.org/D82066
2020-06-18 13:58:47 -07:00
..
Analysis Change filecheck default to dump input on failure 2020-06-09 18:57:46 +00:00
Conversion [mlir] [VectorOps] remove print_i1 from runtime support library 2020-06-18 11:07:43 -07:00
Dialect [mlir][spirv] Allow mixed type cooperative matrix muladd 2020-06-18 13:05:09 -07:00
EDSC [mlir] Provide OpBuilder-based replacements for edsc::BlockBuilder 2020-06-18 11:47:32 +02:00
Examples [lit] Improve naming of test result categories 2020-06-05 08:14:42 -07:00
IR [MLIR] Modify HasParent trait to allow one of several op's as a parent 2020-06-16 04:50:56 +00:00
Pass [mlir] Add a new context flag for disabling/enabling multi-threading 2020-05-02 12:32:25 -07:00
SDBM [MLIR] Reapply: Adjust libMLIR building to more closely follow libClang 2020-05-04 20:47:57 -07:00
Target [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
Transforms [mlir] Allow for patterns to match any root kind. 2020-06-18 13:58:47 -07:00
Unit Add build files and update README. 2019-03-30 11:23:22 -07:00
lib [mlir] Allow for patterns to match any root kind. 2020-06-18 13:58:47 -07:00
mlir-cpu-runner [mlir][Linalg] Retire C++ MatmulOp in favor of a linalg-ods-gen'd op. 2020-06-16 10:46:35 -04:00
mlir-cuda-runner [MLIR][Standard] Make the `dim` operation index an operand. 2020-06-10 13:54:47 +00:00
mlir-linalg-ods-gen [mlir][Linalg] Add support to lower named ops to loops. 2020-04-30 13:45:17 -04:00
mlir-opt [mlir] Change dialect namespace loop->scf 2020-05-13 19:20:21 +02:00
mlir-rocm-runner [mlir][rocdl] Fixing breakage of dim operator from 904f91db 2020-06-11 17:35:22 +00:00
mlir-tblgen [mlir][ods] Look through OpVariable for type constraint 2020-06-18 12:51:51 -07:00
mlir-vulkan-runner [mlir][vulkan-runner] add support for memref of i8, i16 types in vulkan runner 2020-06-18 13:24:51 -07:00
APITest.h Mass update the MLIR license header to mention "Part of the LLVM project" 2020-01-26 03:58:30 +00:00
CMakeLists.txt [mlir][gpu] Introduce mlir-rocm-runner. 2020-06-05 09:46:39 -05:00
lit.cfg.py Enable FileCheck -enable-var-scope by default in MLIR test 2020-06-12 00:43:09 +00:00
lit.site.cfg.py.in [mlir][gpu] Introduce mlir-rocm-runner. 2020-06-05 09:46:39 -05:00