aboutsummaryrefslogtreecommitdiff
path: root/mlir/test/CAPI/ir.c
diff options
context:
space:
mode:
authorAlex Zinenko <zinenko@google.com>2021-11-02 14:15:25 +0100
committerAlex Zinenko <zinenko@google.com>2021-11-03 10:48:01 +0100
commitfc7594cc4aa5e652fe61f278a13e865141797245 (patch)
treeba836f2296c9f0eb7cb9bff84efcda27b490d463 /mlir/test/CAPI/ir.c
parentf78fe0b7b83842929262f1f05e308efe82fc6ffa (diff)
downloadllvm-fc7594cc4aa5e652fe61f278a13e865141797245.zip
llvm-fc7594cc4aa5e652fe61f278a13e865141797245.tar.gz
llvm-fc7594cc4aa5e652fe61f278a13e865141797245.tar.bz2
[mlir][python] improve usability of Python affine construct bindings
- Provide the operator overloads for constructing (semi-)affine expressions in Python by combining existing expressions with constants. - Make AffineExpr, AffineMap and IntegerSet hashable in Python. - Expose the AffineExpr composition functionality. Reviewed By: gysit, aoyal Differential Revision: https://reviews.llvm.org/D113010
Diffstat (limited to 'mlir/test/CAPI/ir.c')
-rw-r--r--mlir/test/CAPI/ir.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/mlir/test/CAPI/ir.c b/mlir/test/CAPI/ir.c
index ef55537..1056f65 100644
--- a/mlir/test/CAPI/ir.c
+++ b/mlir/test/CAPI/ir.c
@@ -1393,6 +1393,13 @@ int affineMapFromExprs(MlirContext ctx) {
if (!mlirAffineExprEqual(mlirAffineMapGetResult(map, 1), affineSymbolExpr))
return 3;
+ MlirAffineExpr affineDim2Expr = mlirAffineDimExprGet(ctx, 1);
+ MlirAffineExpr composed = mlirAffineExprCompose(affineDim2Expr, map);
+ // CHECK: s1
+ mlirAffineExprDump(composed);
+ if (!mlirAffineExprEqual(composed, affineSymbolExpr))
+ return 4;
+
return 0;
}