diff --git a/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td b/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td --- a/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td +++ b/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td @@ -783,6 +783,27 @@ let assemblyFormat = "attr-dict"; } +//===----------------------------------------------------------------------===// +// 2.11.9.2 unroll Construct +//===----------------------------------------------------------------------===// +def UnrollOp : OpenMP_Op<"unroll", [AttrSizedOperandSegments]> { + let summary = "unroll construct"; + let description = [{ + The unroll construct fully or partially unrolls a loop. + }]; + + let arguments = (ins Optional:$full_operand, + Optional:$partial_operand); + + let regions = (region AnyRegion:$region); + + let assemblyFormat = [{ ( `full` `(` $full_operand^ `:` type($full_operand) `)` )? + ( `partial` `(` $partial_operand^ `:` + type($partial_operand)`)` )? + $region attr-dict + }]; +} + //===----------------------------------------------------------------------===// // 2.13.7 flush Construct //===----------------------------------------------------------------------===//