================
@@ -5621,6 +5623,81 @@ class OMPTileDirective final : public 
OMPLoopTransformationDirective {
   }
 };
 
+class OMPStripeDirective final : public OMPLoopTransformationDirective {
+  friend class ASTStmtReader;
+  friend class OMPExecutableDirective;
+
+  /// Default list of offsets.
+  enum {
+    PreInitsOffset = 0,
+    TransformedStmtOffset,
+  };
+
+  explicit OMPStripeDirective(SourceLocation StartLoc, SourceLocation EndLoc,
+                              unsigned NumLoops)
+      : OMPLoopTransformationDirective(OMPStripeDirectiveClass,
+                                       llvm::omp::OMPD_stripe, StartLoc, 
EndLoc,
+                                       NumLoops) {
+    setNumGeneratedLoops(3 * NumLoops);
----------------
ErnestoSu wrote:

A `tile` or `stripe` construct that takes N loops will result in a loop nest of 
2*N loops.

I don't know what `setNumGeneratedLoops()` does though, so it may or may not be 
related to the above.

https://github.com/llvm/llvm-project/pull/119891
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to