From f310c68fe6abbec5dd88e673d4b2e1c93558495b Mon Sep 17 00:00:00 2001 From: tancheng Date: Fri, 23 May 2025 04:57:27 +0000 Subject: [PATCH 1/2] [feature] Handles terminator for insert mov --- lib/Transforms/InsertMovPass.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/Transforms/InsertMovPass.cpp b/lib/Transforms/InsertMovPass.cpp index 5778a381..c3476b60 100644 --- a/lib/Transforms/InsertMovPass.cpp +++ b/lib/Transforms/InsertMovPass.cpp @@ -48,7 +48,15 @@ struct InsertMovForNeuraOps : public RewritePattern { state.addTypes(op->getResultTypes()); state.addAttributes(op->getAttrs()); + // Copies successors for terminator operations. + if (op->hasTrait()) { + for (Block *successor : op->getSuccessors()) { + state.addSuccessors(successor); + } + } + Operation *newOp = rewriter.create(state); + rewriter.replaceOp(op, newOp->getResults()); return success(); } From 95181deceff530ddc420b1655867a7c78c9a87ed Mon Sep 17 00:00:00 2001 From: tancheng Date: Sat, 24 May 2025 01:34:22 +0000 Subject: [PATCH 2/2] [test] Re-enable insert-mov in test --- test/neura/for_loop/test.mlir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/neura/for_loop/test.mlir b/test/neura/for_loop/test.mlir index 1c72782d..c3ed9b81 100644 --- a/test/neura/for_loop/test.mlir +++ b/test/neura/for_loop/test.mlir @@ -8,7 +8,7 @@ // RUN: --assign-accelerator \ // RUN: --lower-llvm-to-neura \ // RUN: --fuse-patterns \ -// RN: --insert-mov \ +// RUN: --insert-mov \ // RUN: %t-kernel.mlir | FileCheck %s // Verifies the neura ops are generated. And fusion happens.