[Mlir-commits] [mlir] [mlir][gpu] Add subgroup_reduce to shuffle lowering (PR #76530)
Kunwar Grover
llvmlistbot at llvm.org
Tue Jan 2 08:39:13 PST 2024
================
@@ -47,19 +48,37 @@ struct TestGpuSubgroupReduceLoweringPass
MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(
TestGpuSubgroupReduceLoweringPass)
+ TestGpuSubgroupReduceLoweringPass() = default;
+ TestGpuSubgroupReduceLoweringPass(
+ const TestGpuSubgroupReduceLoweringPass &pass)
+ : PassWrapper(pass) {}
+
void getDependentDialects(DialectRegistry ®istry) const override {
registry.insert<arith::ArithDialect, vector::VectorDialect>();
}
+
StringRef getArgument() const final {
return "test-gpu-subgroup-reduce-lowering";
}
+
StringRef getDescription() const final {
return "Applies gpu.subgroup_reduce lowering patterns.";
}
+
+ Option<bool> expandToShuffles{
+ *this, "expand-to-shuffles",
+ llvm::cl::desc("Expand subgroup_reduce ops to shuffle ops."),
+ llvm::cl::init(false)};
+
void runOnOperation() override {
RewritePatternSet patterns(&getContext());
populateGpuBreakDownSubgrupReducePatterns(patterns,
- /*maxShuffleBitwidth=*/32);
+ /*maxShuffleBitwidth=*/32,
+ PatternBenefit(2));
----------------
Groverkss wrote:
Can you add a comment here on why you set the benefit to a non default value?
https://github.com/llvm/llvm-project/pull/76530
More information about the Mlir-commits
mailing list