//===- TestAllReduceLowering.cpp - Test gpu.all_reduce lowering -----------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file contains test passes for lowering the gpu.all_reduce op. // //===----------------------------------------------------------------------===// #include "mlir/Dialect/GPU/Passes.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/Pass/Pass.h" #include "mlir/Transforms/GreedyPatternRewriteDriver.h" using namespace mlir; namespace { struct TestGpuRewritePass : public PassWrapper> { void getDependentDialects(DialectRegistry ®istry) const override { registry.insert(); } void runOnOperation() override { OwningRewritePatternList patterns; populateGpuRewritePatterns(&getContext(), patterns); applyPatternsAndFoldGreedily(getOperation(), std::move(patterns)); } }; } // namespace namespace mlir { void registerTestAllReduceLoweringPass() { PassRegistration pass( "test-gpu-rewrite", "Applies all rewrite patterns within the GPU dialect."); } } // namespace mlir