[mlir][gpu] Split ops sinking from gpu-kernel-outlining pass into separate pass
authorIvan Butygin <ivan.butygin@gmail.com>
Wed, 16 Feb 2022 12:38:14 +0000 (15:38 +0300)
committerIvan Butygin <ivan.butygin@gmail.com>
Thu, 17 Feb 2022 07:34:20 +0000 (10:34 +0300)
commitd271fc04d5b97b12e6b797c6067d3c96a8d7470e
tree7788a83ea5a21f013e3b2d66c854281a2bb5aa7e
parentf165c23bf3598990aaf2174a6bc40be75199ee1a
[mlir][gpu] Split ops sinking from gpu-kernel-outlining pass into separate pass

Previously `gpu-kernel-outlining` pass was also doing index computation sinking into gpu.launch before actual outlining.
Split ops sinking from `gpu-kernel-outlining` pass into separate pass, so users can use theirs own sinking pass before outlining.
To achieve old behavior users will need to call both passes: `-gpu-launch-sink-index-computations -gpu-kernel-outlining`.

Differential Revision: https://reviews.llvm.org/D119932
mlir/include/mlir/Dialect/GPU/Passes.h
mlir/include/mlir/Dialect/GPU/Passes.td
mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
mlir/lib/Dialect/GPU/Transforms/PassDetail.h
mlir/test/Dialect/GPU/outlining.mlir
mlir/test/Dialect/GPU/sink-ops.mlir [new file with mode: 0644]