[Openmp-commits] [clang] [flang] [llvm] [openmp] [Clang][OpenMP][LoopTransformations] Add support for "#pragma omp fuse" loop transformation directive and "looprange" clause (PR #139293)

Roger Ferrer Ibáñez via Openmp-commits openmp-commits at lists.llvm.org
Thu Aug 28 08:11:27 PDT 2025


rofirrim wrote:

This change now builds on top of:

- https://github.com/llvm/llvm-project/pull/155849
- https://github.com/llvm/llvm-project/pull/155848

I added a new class `OMPCanonicalLoopSequenceTransformationDirective` which inherits from a common class `OMPLoopTransformationDirective` which is also a base class of `OMPCanonicalLoopNestTransformationDirective` (what used to be called `OMPLoopTransformationDirective`). This class only contains the number of (top-level) loop nests generated along with a some convenience methods for consistency.

`OMPFuseDirective` now inherits from `OMPCanonicalLoopSequenceTransformationDirective` as I think it doesn't make sense to make it inherit from `OMPLoopBasedDirective` like it used in an earlier version of this patch.

I have also squashed the changes for the Fuse implementation because it was getting hard to handle.

Please @Meinersbur, @alexey-bataev let me know if the refactoring seems reasonable.

https://github.com/llvm/llvm-project/pull/139293


More information about the Openmp-commits mailing list