These ops are useful for test case reduction and test writing.
Example:
mlir %0 = source : i1 sink %0 : i1 %a, %b = source : i1, i2 sink %a, %b : i1, i2
Paths
| Differential D79683
[mlir] Add std.source and std.sink ops. Needs RevisionPublic Authored by silvas on May 9 2020, 7:04 PM.
Details
Summary These ops are useful for test case reduction and test writing. Example: mlir %0 = source : i1 sink %0 : i1 %a, %b = source : i1, i2 sink %a, %b : i1, i2
Diff Detail
Event TimelineComment Actions I really don't feel this belongs to the standard dialect. This is very light in motivation right now. Can you expand? Comment Actions Could test.produce, test.consume be better names for these? Could you add a couple more lines to the commit summary? I think you also need to say in the op description that these are no ops? This revision now requires changes to proceed.May 10 2020, 5:30 PM Comment Actions +1 to not putting these in the standard dialect. We didn't want a generic cast operation precisely because it could create values with unclear semantics. I would rather have it in a dedicated dialect rather than in the Test dialect. If you intend to build a bugpoint analog, you'd end up with a dependency of tools/bugpoint on test/lib, which sounds awkward.
Revision Contents
Diff 263047 mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
mlir/lib/Dialect/StandardOps/IR/Ops.cpp
mlir/test/Dialect/Standard/source-sink.mlir
|
You can omit this line