llvm-project
1463d8a3 - [mlir][OpenMP] Separate OutlinableInterface from taskloop LoopWrapper

Commit
34 days ago
[mlir][OpenMP] Separate OutlinableInterface from taskloop LoopWrapper Separate taskloop context and loop lowering into different operations. This allows us to have separate operations representing the outlinable interface and the loop wrapper interface so that there is somewhere better than the loop body to put task-local allocations: ``` omp.taskloop.context { llvm.alloca ... omp.taskloop { omp.loop_nest ... { ... } } omp.terminator } ``` The tests for the real functional change are - flang/test/Integration/OpenMP/taskloop-alloca-placement.f90 - mlir/test/Target/LLVMIR/openmp-taskloop-context-alloca.mlir RFC: https://discourse.llvm.org/t/rfc-openmp-alloca-placement-for-openmp-loop-wrappers/89512/7 This commit keeps all of the clauses on the omp.taskloop op to minimise changes that have to go into this one commit. I will follow this by moving clauses to the operation in which they generate code. Patch 1/3
Author
Committer
Parents
Loading