From b89e0c2dec6b795cf3eb141324ab81a50d472407 Mon Sep 17 00:00:00 2001 From: erwei-xilinx <erwei.wang@amd.com> Date: Thu, 9 Jan 2025 01:07:54 -0800 Subject: [PATCH] Bump mlir-air to c78cf3fb0c8c147d519692952995ba7413604c16 --- .../plugins/target/AMD-AIE/air/CMakeLists.txt | 19 +++++++++++++++++++ .../iree-amd-aie/Transforms/Passes.cpp | 9 +++++++-- third_party/mlir-air | 2 +- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/compiler/plugins/target/AMD-AIE/air/CMakeLists.txt b/compiler/plugins/target/AMD-AIE/air/CMakeLists.txt index 8dfe5a24c..8747087d1 100644 --- a/compiler/plugins/target/AMD-AIE/air/CMakeLists.txt +++ b/compiler/plugins/target/AMD-AIE/air/CMakeLists.txt @@ -329,6 +329,25 @@ iree_cc_library( MLIRSupport ) +replace_string_in_file( + ${IREE_MLIR_AIR_SOURCE_DIR}/lib/Transform/AIRDependencyScheduleOpt.cpp + "aie/Dialect/AIE/IR" "aie") +replace_string_in_file( + ${IREE_MLIR_AIR_SOURCE_DIR}/lib/Transform/AIRDependencyScheduleOpt.cpp + "aie/Dialect/AIEX/IR" "aie") +replace_string_in_file( + ${IREE_MLIR_AIR_SOURCE_DIR}/lib/Transform/AIRDependencyScheduleOpt.cpp + "AIE::getTargetModel(*device)" + "getDeviceModel(*device)") +replace_string_in_file( + ${IREE_MLIR_AIR_SOURCE_DIR}/lib/Transform/AIRDependencyScheduleOpt.cpp + "isa<AIE::AIE1TargetModel>(getDeviceModel(*device))" + "false") +replace_string_in_file( + ${IREE_MLIR_AIR_SOURCE_DIR}/lib/Transform/AIRDependencyScheduleOpt.cpp + "isa<AIE::AIE1TargetModel>(getDeviceModel(*device))" + "true") + ############################################################################### # AIR Passes ############################################################################### diff --git a/compiler/plugins/target/AMD-AIE/iree-amd-aie/Transforms/Passes.cpp b/compiler/plugins/target/AMD-AIE/iree-amd-aie/Transforms/Passes.cpp index 62fbe0813..9c58f42ed 100644 --- a/compiler/plugins/target/AMD-AIE/iree-amd-aie/Transforms/Passes.cpp +++ b/compiler/plugins/target/AMD-AIE/iree-amd-aie/Transforms/Passes.cpp @@ -809,8 +809,7 @@ void addMLIRAIRLoweringPasses(OpPassManager &passManager, AMDAIEDevice device, passManager.addPass(createCSEPass()); passManager.addPass(createCanonicalizerPass()); passManager.addPass(createCSEPass()); - passManager.addNestedPass<func::FuncOp>( - xilinx::air::createAIRSegmentLoopFusion()); + passManager.addNestedPass<func::FuncOp>(xilinx::air::createAIRLoopFusion()); passManager.addPass( xilinx::air::createAIRLabelScfForLoopForPingPongPattern()); @@ -863,6 +862,12 @@ void addMLIRAIRLoweringPasses(OpPassManager &passManager, AMDAIEDevice device, } passManager.addPass(createCanonicalizerPass()); passManager.addPass(xilinx::air::createAIRLoweringPass()); + { + xilinx::air::AIROptimizeShimDMABDsOptions options; + options.clDevice = stringifyEnum(device); + passManager.addNestedPass<func::FuncOp>( + xilinx::air::createAIROptimizeShimDMABDs(options)); + } { xilinx::air::AffineLoopOptPassOptions options; // tile_sizes contains a list of N tiling factors for the N innermost loop diff --git a/third_party/mlir-air b/third_party/mlir-air index 7904ea742..c78cf3fb0 160000 --- a/third_party/mlir-air +++ b/third_party/mlir-air @@ -1 +1 @@ -Subproject commit 7904ea742ee37f7020dea85376f20d9aec04a377 +Subproject commit c78cf3fb0c8c147d519692952995ba7413604c16