[clang] [llvm] [Clang] [OpenMP] Add support for '#pragma omp stripe'. (PR #119891)
Ernesto Su via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 14 11:52:37 PST 2025
================
@@ -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
More information about the llvm-commits
mailing list