forked from OSchip/llvm-project
18fde7c9d8
This CL added the ability to generate multiple ops using multiple result patterns, with each of them replacing one result of the matched source op. Specifically, the syntax is ``` def : Pattern<(SourceOp ...), [(ResultOp1 ...), (ResultOp2 ...), (ResultOp3 ...)]>; ``` Assuming `SourceOp` has three results. Currently we require that each result op must generate one result, which can be lifted later when use cases arise. To help with cases that certain output is unused and we don't care about it, this CL also introduces a new directive: `verifyUnusedValue`. Checks will be emitted in the `match()` method to make sure if the corresponding output is not unused, `match()` returns with `matchFailure()`. PiperOrigin-RevId: 237513904 |
||
---|---|---|
.. | ||
AffineOps | ||
Dialect | ||
EDSC | ||
IR | ||
LLVMIR | ||
Target | ||
Transforms | ||
mlir-cpu-runner | ||
mlir-tblgen |