[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