[Mlir-commits] [mlir] 105e9f1 - [MLIR][OpenMP] Ensure -fopenmp-force-usm doesn't override requirements (#213649)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Aug 6 05:12:15 PDT 2026
Author: Sergio Afonso
Date: 2026-08-06T13:12:00+01:00
New Revision: 105e9f1be4962318a8ec8adedb7b37eec1674ed4
URL: https://github.com/llvm/llvm-project/commit/105e9f1be4962318a8ec8adedb7b37eec1674ed4
DIFF: https://github.com/llvm/llvm-project/commit/105e9f1be4962318a8ec8adedb7b37eec1674ed4.diff
LOG: [MLIR][OpenMP] Ensure -fopenmp-force-usm doesn't override requirements (#213649)
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.
Added:
Modified:
mlir/lib/Dialect/OpenMP/Utils/Utils.cpp
Removed:
################################################################################
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,
More information about the Mlir-commits
mailing list