[PATCH] D77331: [mlir][VectorOps] Implement canonicalization for TransposeOp.

Uday Bondhugula via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 2 13:33:49 PDT 2020


bondhugula added inline comments.


================
Comment at: mlir/lib/Dialect/Vector/VectorOps.cpp:1579
+    // Wrapper around TransposeOp::getTransp() for cleaner code.
+    auto get_permutation = [](TransposeOp &transpose) {
+      SmallVector<int64_t, 4> permutation;
----------------
Nit: no need of the ref (all derived ops are just one pointer size).


================
Comment at: mlir/lib/Dialect/Vector/VectorOps.cpp:1595-1599
+    Operation *parentOp = transposeOp.vector().getDefiningOp();
+    if (!isa_and_nonnull<TransposeOp>(parentOp))
+      return failure();
+
+    TransposeOp parentTransposeOp = static_cast<TransposeOp>(parentOp);
----------------
Use dyn_cast_or_null ?
```
auto parentTransposeOp = dyn_cast_or_null(transposeOp.vector().getDefiningOp());
if (!parentTransposeOp)
  return failure();
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77331/new/

https://reviews.llvm.org/D77331





More information about the llvm-commits mailing list