aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/StackProtector.cpp
diff options
context:
space:
mode:
authorNicolas Vasilache <nicolas.vasilache@gmail.com>2023-01-26 12:30:54 -0800
committerNicolas Vasilache <nicolas.vasilache@gmail.com>2023-01-26 14:07:17 -0800
commit55cf0de35efd6cb81d6a21fee35186f6fb6864c2 (patch)
tree46031a2767a280c3829674d3310c66974174187d /llvm/lib/CodeGen/StackProtector.cpp
parentc10615e4a94fc8dec65a48a6eb8f7efccc3fb1fc (diff)
downloadllvm-55cf0de35efd6cb81d6a21fee35186f6fb6864c2.zip
llvm-55cf0de35efd6cb81d6a21fee35186f6fb6864c2.tar.gz
llvm-55cf0de35efd6cb81d6a21fee35186f6fb6864c2.tar.bz2
[mlir][Linalg] Adding a greedy packing transform dialect op.
This PR adds a `pack_greedily` transform operation that infers the packing for gemm subcomputations embedded within in any LinalgOp and packs accordingly. A normalization step guarantees that we get the innermost op dimensions in one of `8` possible `(m, n, k)` orders, specified as a parameter, from which we can emit all packed forms. The current implementation takes an arbitrary LinalgOp and tries to pack it along the specified dimensions with specified sizes and inner dim permutation. This achieves a new level of normalization and generalization for any `n-D` LinalgOp that contains a gemm embedded within it: we will always see a predictable packed form for any of these ops. Differential Revision: https://reviews.llvm.org/D142661
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions