diff --git a/mlir/test/lib/Transforms/CMakeLists.txt b/mlir/test/lib/Transforms/CMakeLists.txt --- a/mlir/test/lib/Transforms/CMakeLists.txt +++ b/mlir/test/lib/Transforms/CMakeLists.txt @@ -3,7 +3,6 @@ TestConstantFold.cpp TestInlining.cpp TestLoopFusion.cpp - TestLinalgLowerPadTensor.cpp TestLoopMapping.cpp TestLoopParametricTiling.cpp TestLoopUnrolling.cpp diff --git a/mlir/test/lib/Transforms/TestLinalgLowerPadTensor.cpp b/mlir/test/lib/Transforms/TestLinalgLowerPadTensor.cpp deleted file mode 100644 --- a/mlir/test/lib/Transforms/TestLinalgLowerPadTensor.cpp +++ /dev/null @@ -1,79 +0,0 @@ -//===- TestLinalgLowerPadTensor.cpp - Test Linalg hoisting functions ------===// -// -// 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 implements logic for testing Linalg hoisting functions. -// -//===----------------------------------------------------------------------===// - -#include "mlir/Dialect/Affine/IR/AffineOps.h" -#include "mlir/Dialect/Linalg/IR/LinalgOps.h" -#include "mlir/Dialect/Linalg/Transforms/Hoisting.h" -#include "mlir/Pass/Pass.h" - -using namespace mlir; -using namespace mlir::linalg; - -namespace { - -struct TestLinalgLowerPadTensor - : public PassWrapper { - TestLinalgLowerPadTensor() = default; - TestLinalgLowerPadTensor(const TestLinalgLowerPadTensor &pass) {} - void getDependentDialects(DialectRegistry ®istry) const override { - registry.insert(); - } - - void runOnFunction() override; - -}; -} // end anonymous namespace - -void TestLinalgLowerPadTensor::runOnFunction() { - - auto func = getFunction(); - func.emitWarning() << "Test"; - bool changed = true; - - while (changed) { - changed = false; - - func.walk([&](linalg::PadTensorOp padOp) { - { - padOp.emitWarning() << "Found a PadTensorOp"; - // if (does not have a prior load tensor, ) - // // leave it alone - // return WalkResult::advance(); - changed = true; - // padOp.erase(); - - // Need to interrupt and restart: erasing the loop messes up the walk. - return WalkResult::interrupt(); - } - return WalkResult::advance(); - }); - - // Find if a tensor.load originated this op, continue if true - - // Create the new MemRef with padded dimensions - // and manually copy the data there - // Replaces all - // op.replaceAllUsesWith(affineForOp.getResults().take_back()[0]); - return; - } -} - - -namespace mlir { -namespace test { -void registerTestLinalgLowerPadTensor() { - PassRegistration testTestLinalgLowerPadTensorPass( - "test-linalg-lower-pad-tensor", - "Test lowering tensor load and pad_tensor to affine."); -} -} // namespace test -} // namespace mlir diff --git a/mlir/tools/mlir-opt/mlir-opt.cpp b/mlir/tools/mlir-opt/mlir-opt.cpp --- a/mlir/tools/mlir-opt/mlir-opt.cpp +++ b/mlir/tools/mlir-opt/mlir-opt.cpp @@ -83,7 +83,6 @@ void registerTestLinalgTensorFusionTransforms(); void registerTestLinalgGreedyFusion(); void registerTestLinalgHoisting(); -void registerTestLinalgLowerPadTensor(); void registerTestLinalgTileAndFuseSequencePass(); void registerTestLinalgTransforms(); void registerTestLivenessPass(); @@ -162,7 +161,6 @@ test::registerTestLinalgTensorFusionTransforms(); test::registerTestLinalgGreedyFusion(); test::registerTestLinalgHoisting(); - test::registerTestLinalgLowerPadTensor(); test::registerTestLinalgTileAndFuseSequencePass(); test::registerTestLinalgTransforms(); test::registerTestLivenessPass();