[mlir][shape] Start a pass that lowers shape constraints.
authorSean Silva <silvasean@google.com>
Fri, 18 Sep 2020 20:55:52 +0000 (13:55 -0700)
committerSean Silva <silvasean@google.com>
Thu, 24 Sep 2020 19:25:30 +0000 (12:25 -0700)
commit9ed1e5873c19eb817fb9e36d0262c7effee5d35e
tree5e99e1a5547b49b81d07d4155898e81908aa97ff
parentc4bacc3c9b333bb7032fb96f41d6f5b851623132
[mlir][shape] Start a pass that lowers shape constraints.

This pass converts shape.cstr_* ops to eager (side-effecting)
error-handling code. After that conversion is done, the witnesses are
trivially satisfied and are replaced with `shape.const_witness true`.

Differential Revision: https://reviews.llvm.org/D87941
mlir/include/mlir/Conversion/Passes.td
mlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h
mlir/lib/Conversion/ShapeToStandard/CMakeLists.txt
mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp [new file with mode: 0644]
mlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir [new file with mode: 0644]