diff --git a/mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp b/mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp --- a/mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp +++ b/mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp @@ -883,7 +883,7 @@ SmallVector clauses = { privateClause, firstprivateClause, lastprivateClause, linearClause, reductionClause, collapseClause, orderClause, orderedClause, - nowaitClause, scheduleClause}; + nowaitClause, scheduleClause, inclusiveClause}; SmallVector segments{numIVs, numIVs, numIVs}; if (failed(parseClauses(parser, result, clauses, segments))) return failure(); diff --git a/mlir/test/Dialect/OpenMP/ops.mlir b/mlir/test/Dialect/OpenMP/ops.mlir --- a/mlir/test/Dialect/OpenMP/ops.mlir +++ b/mlir/test/Dialect/OpenMP/ops.mlir @@ -193,6 +193,11 @@ omp.yield } + // CHECK: omp.wsloop (%{{.*}}) : index = (%{{.*}}) to (%{{.*}}) step (%{{.*}}) private({{.*}} : memref) inclusive + omp.wsloop (%iv) : index = (%lb) to (%ub) step (%step) private(%data_var : memref) inclusive { + omp.yield + } + return }