[flang] [llvm] [mlir] [flang][OpenMP] Enable tiling (PR #143715)

Jan Leyonberg via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 23 05:35:37 PDT 2025


jsjodin wrote:

> Took another look this time trying to understand the approach on a higher level. I have one concern/question. It seems like we are "hiding" the `tile` directive too early in the pipeline (i.e. during PFT to the `omp` dialect); both for the combined and the standalone cases. I would have expected to model `tile` as a separate op in the dialect and handle mapping combined and standalone versions later in the compiler. In the standalone case, for instance, we conflate the `loop` and `tile` directives in one op which overloads `omp.loop` with more semantics than it is intended to carry.
> 
> To me, the `tile` is similar to `simd` in the sense that it is a loop wrapper op that controls division of the loop nests' iterations. So I would have expected both to have similar modelling (i.e. a separate op that impelements the `LoopWrapperInterface`).
> 
> You probably have good reason not to do what I suggested so just asking for my understanding.

The reason for not doing this right now is that to use a separate op for tiling, we would need the more of the complete implementation which includes canonical loop info (CLI) values, a separate tile operation, and extending the loop nest op in a different way. This is the next step that @Meinersbur is working on, but we wanted to make tiling available sooner.

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


More information about the llvm-commits mailing list