//
// Copyright (C) 2025-2026 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//

#pragma once

#include "vpux/compiler/core/interfaces/rewriter_pattern_strategies.hpp"

namespace vpux::VPUIP::arch40xx {

class UnrollPermuteDMAStrategy : public IIterativeWalkPassStrategy {
public:
    UnrollPermuteDMAStrategy(mlir::MLIRContext* ctx, int64_t dmaPortCount);
    void addPatterns(SmallVector<mlir::RewritePatternSet>& patterns, Logger& log) const final;

private:
    mlir::MLIRContext* _ctx;
    int64_t _dmaPortCount;
};

}  // namespace vpux::VPUIP::arch40xx
