[Mlir-commits] [mlir] [OpenACC][NFC] Minor clean up in ACCRoutineLowering. (PR #213333)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Fri Jul 31 11:52:11 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir-openacc

Author: Moazin K. (moazin)

<details>
<summary>Changes</summary>

Minor NFC clean up after recent changes to remove nohost handling from ACCRoutineLowering.

Assisted-by: Codex

---
Full diff: https://github.com/llvm/llvm-project/pull/213333.diff


1 Files Affected:

- (modified) mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp (+8-12) 


``````````diff
diff --git a/mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp b/mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
index d082ef8be3d17..9d5f0fc434d7e 100644
--- a/mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
+++ b/mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
@@ -168,15 +168,13 @@ buildRoutineBody(func::FuncOp deviceFunc, func::FuncOp hostFunc,
 }
 
 /// Update acc.routine refs
-static LogicalResult finalizeRoutines(
-    SmallVectorImpl<std::tuple<func::FuncOp, func::FuncOp, RoutineOp>>
-        &accRoutineInfo,
-    ModuleOp mod, MLIRContext *ctx) {
-  for (auto &[hostFunc, deviceFunc, routineOp] : accRoutineInfo) {
+static void finalizeRoutines(
+    SmallVectorImpl<std::pair<func::FuncOp, RoutineOp>> &accRoutineInfo,
+    MLIRContext *ctx) {
+  for (auto &[deviceFunc, routineOp] : accRoutineInfo) {
     routineOp.setFuncNameAttr(SymbolRefAttr::get(ctx, deviceFunc.getName()));
     routineOp->moveBefore(deviceFunc);
   }
-  return success();
 }
 
 class ACCRoutineLowering
@@ -197,9 +195,8 @@ class ACCRoutineLowering
     IRRewriter rewriter(ctx);
     DefaultACCToGPUMappingPolicy policy;
 
-    // Tuple: host function, device function, routine operation
-    SmallVector<std::tuple<func::FuncOp, func::FuncOp, RoutineOp>, 4>
-        accRoutineInfo;
+    // Pair: device function, routine operation
+    SmallVector<std::pair<func::FuncOp, RoutineOp>, 4> accRoutineInfo;
 
     for (RoutineOp routineOp : mod.getOps<RoutineOp>()) {
       if (routineOp.getBindNameValue() ||
@@ -226,12 +223,11 @@ class ACCRoutineLowering
                                   parLevel, policy, rewriter)))
         return signalPassFailure();
 
-      accRoutineInfo.push_back({hostFunc, deviceFunc, routineOp});
+      accRoutineInfo.push_back({deviceFunc, routineOp});
       symTab.insert(deviceFunc);
     }
 
-    if (failed(finalizeRoutines(accRoutineInfo, mod, ctx)))
-      return signalPassFailure();
+    finalizeRoutines(accRoutineInfo, ctx);
   }
 };
 

``````````

</details>


https://github.com/llvm/llvm-project/pull/213333


More information about the Mlir-commits mailing list