Single Concat Fix

This commit is contained in:
ilgeco
2026-05-07 16:47:01 +02:00
parent f2fe147961
commit 74931ad75b
4 changed files with 62 additions and 32 deletions

View File

@@ -23,6 +23,16 @@ using namespace mlir;
namespace onnx_mlir {
namespace {
struct EraseSpatNopPattern : public mlir::OpRewritePattern<spatial::SpatNopOp> {
using OpRewritePattern<spatial::SpatNopOp>::OpRewritePattern;
mlir::LogicalResult matchAndRewrite(spatial::SpatNopOp op,
mlir::PatternRewriter &rewriter) const override {
rewriter.eraseOp(op);
return mlir::success();
}
};
static std::optional<unsigned> getDirectComputeInputIndex(Operation* owner, unsigned operandNumber) {
if (auto compute = dyn_cast<spatial::SpatCompute>(owner)) {
unsigned inputCount = compute.getInputs().size();
@@ -416,7 +426,7 @@ struct FuncOpArgToGlobalMemoryPattern final : OpRewritePattern<mlir::func::FuncO
} // namespace
void populateGlobalTensorToMemrefPatterns(RewritePatternSet& patterns) {
patterns.add<MoveExtractSliceIntoCompute, FuncOpArgToGlobalMemoryPattern, ArithConstToGlobalMemoryPattern>(
patterns.add<EraseSpatNopPattern, MoveExtractSliceIntoCompute, FuncOpArgToGlobalMemoryPattern, ArithConstToGlobalMemoryPattern>(
patterns.getContext());
}