[Mlir-commits] [mlir] 93e018a - [mlir][OpenMP] Model recursive memory effects of omp.master (#230190)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Oct 15 02:44:02 PDT 2026
Author: JRP-arm
Date: 2026-10-15T09:43:55Z
New Revision: 93e018a5ffef86ed239f11ee4cff055f190e42e0
URL: https://github.com/llvm/llvm-project/commit/93e018a5ffef86ed239f11ee4cff055f190e42e0
DIFF: https://github.com/llvm/llvm-project/commit/93e018a5ffef86ed239f11ee4cff055f190e42e0.diff
LOG: [mlir][OpenMP] Model recursive memory effects of omp.master (#230190)
Remove effect-free master regions while preserving nested memory
effects.
Assisted by: AI (ChatGPT)
---------
Co-authored-by: Jamie.Rowlinson-Patel at arm.com <jamrow01 at ip-10-252-16-38.eu-west-1.compute.internal>
Added:
Modified:
mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
mlir/test/Dialect/OpenMP/memory-effects.mlir
Removed:
################################################################################
diff --git a/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td b/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
index 8c5b63a931b41..f578cc741cb09 100644
--- a/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+++ b/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
@@ -1749,7 +1749,7 @@ def TargetOp : OpenMP_Op<"target", traits = [
// 2.16 master Construct
//===----------------------------------------------------------------------===//
def MasterOp : OpenMP_Op<"master", traits = [
- DeclareOpInterfaceMethods<ComposableOpInterface>
+ DeclareOpInterfaceMethods<ComposableOpInterface>, RecursiveMemoryEffects
], singleRegion = true> {
let summary = "master construct";
let description = [{
diff --git a/mlir/test/Dialect/OpenMP/memory-effects.mlir b/mlir/test/Dialect/OpenMP/memory-effects.mlir
index bf65703e87544..1efa0acd23da0 100644
--- a/mlir/test/Dialect/OpenMP/memory-effects.mlir
+++ b/mlir/test/Dialect/OpenMP/memory-effects.mlir
@@ -5,6 +5,15 @@ func.func @masked_recursive_memory_effects() {
// expected-remark at +1 {{recursive memory effects}}
omp.masked {
omp.terminator
- } {test_recursive_memory_effects}
+ }
+ return
+}
+
+// Check the trait on omp.master itself, independently of its body.
+func.func @master_recursive_memory_effects() {
+ // expected-remark at +1 {{recursive memory effects}}
+ omp.master {
+ omp.terminator
+ }
return
}
\ No newline at end of file
More information about the Mlir-commits
mailing list