@@ -128,6 +128,7 @@ def PrivateClauseOp : OpenMP_Op<"private", [IsolatedFromAbove, RecipeInterface]>
128
128
129
129
def ParallelOp : OpenMP_Op<"parallel", traits = [
130
130
AttrSizedOperandSegments, AutomaticAllocationScope,
131
+ DeclareOpInterfaceMethods<ComposableOpInterface>,
131
132
DeclareOpInterfaceMethods<LoopWrapperInterface>,
132
133
DeclareOpInterfaceMethods<OutlineableOpenMPOpInterface>,
133
134
RecursiveMemoryEffects
@@ -356,7 +357,9 @@ def LoopNestOp : OpenMP_Op<"loop_nest", traits = [
356
357
//===----------------------------------------------------------------------===//
357
358
358
359
def WsloopOp : OpenMP_Op<"wsloop", traits = [
359
- AttrSizedOperandSegments, DeclareOpInterfaceMethods<LoopWrapperInterface>,
360
+ AttrSizedOperandSegments,
361
+ DeclareOpInterfaceMethods<ComposableOpInterface>,
362
+ DeclareOpInterfaceMethods<LoopWrapperInterface>,
360
363
RecursiveMemoryEffects, SingleBlock
361
364
], clauses = [
362
365
OpenMP_AllocateClauseSkip<assemblyFormat = true>,
@@ -432,7 +435,9 @@ def WsloopOp : OpenMP_Op<"wsloop", traits = [
432
435
//===----------------------------------------------------------------------===//
433
436
434
437
def SimdOp : OpenMP_Op<"simd", traits = [
435
- AttrSizedOperandSegments, DeclareOpInterfaceMethods<LoopWrapperInterface>,
438
+ AttrSizedOperandSegments,
439
+ DeclareOpInterfaceMethods<ComposableOpInterface>,
440
+ DeclareOpInterfaceMethods<LoopWrapperInterface>,
436
441
RecursiveMemoryEffects, SingleBlock
437
442
], clauses = [
438
443
OpenMP_AlignedClause, OpenMP_IfClause, OpenMP_LinearClause,
@@ -499,7 +504,9 @@ def YieldOp : OpenMP_Op<"yield",
499
504
// Distribute construct [2.9.4.1]
500
505
//===----------------------------------------------------------------------===//
501
506
def DistributeOp : OpenMP_Op<"distribute", traits = [
502
- AttrSizedOperandSegments, DeclareOpInterfaceMethods<LoopWrapperInterface>,
507
+ AttrSizedOperandSegments,
508
+ DeclareOpInterfaceMethods<ComposableOpInterface>,
509
+ DeclareOpInterfaceMethods<LoopWrapperInterface>,
503
510
RecursiveMemoryEffects, SingleBlock
504
511
], clauses = [
505
512
OpenMP_AllocateClause, OpenMP_DistScheduleClause, OpenMP_OrderClause,
@@ -587,8 +594,9 @@ def TaskOp : OpenMP_Op<"task", traits = [
587
594
588
595
def TaskloopOp : OpenMP_Op<"taskloop", traits = [
589
596
AttrSizedOperandSegments, AutomaticAllocationScope,
590
- DeclareOpInterfaceMethods<LoopWrapperInterface>, RecursiveMemoryEffects,
591
- SingleBlock
597
+ DeclareOpInterfaceMethods<ComposableOpInterface>,
598
+ DeclareOpInterfaceMethods<LoopWrapperInterface>,
599
+ RecursiveMemoryEffects, SingleBlock
592
600
], clauses = [
593
601
OpenMP_AllocateClause, OpenMP_FinalClause, OpenMP_GrainsizeClause,
594
602
OpenMP_IfClause, OpenMP_InReductionClauseSkip<extraClassDeclaration = true>,
0 commit comments