[llvm-branch-commits] [mlir] [MLIR][OpenMP] Ensure -fopenmp-force-usm doesn't override requirements (PR #213649)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Aug 3 04:34:28 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-openmp
Author: Sergio Afonso (skatrak)
<details>
<summary>Changes</summary>
The `mlir::omp::setOffloadModuleInterfaceAttributes` utility function can currently override any pre-existing OpenMP `requires` clauses in the module. This doesn't cause any problems at the moment because all calls to this function happen before any other `requires` are processed. However, it's safer to make sure it never deletes pre-existing flags in case the same function is reused in a different context.
---
Full diff: https://github.com/llvm/llvm-project/pull/213649.diff
1 Files Affected:
- (modified) mlir/lib/Dialect/OpenMP/Utils/Utils.cpp (+2-1)
``````````diff
diff --git a/mlir/lib/Dialect/OpenMP/Utils/Utils.cpp b/mlir/lib/Dialect/OpenMP/Utils/Utils.cpp
index dca02584e32c6..481efdba89e1e 100644
--- a/mlir/lib/Dialect/OpenMP/Utils/Utils.cpp
+++ b/mlir/lib/Dialect/OpenMP/Utils/Utils.cpp
@@ -23,7 +23,8 @@ void mlir::omp::setOffloadModuleInterfaceAttributes(
offloadMod.setIsTargetDevice(opts.isTargetDevice);
offloadMod.setIsGPU(opts.isGPU);
if (opts.forceUSM)
- offloadMod.setRequires(ClauseRequires::unified_shared_memory);
+ offloadMod.setRequires(offloadMod.getRequires() |
+ ClauseRequires::unified_shared_memory);
offloadMod.setFlags(opts.targetDebugKind, opts.assumeTeamsOversubscription,
opts.assumeThreadsOversubscription,
opts.assumeNoThreadState,
``````````
</details>
https://github.com/llvm/llvm-project/pull/213649
More information about the llvm-branch-commits
mailing list