diff options
author | Sergio Afonso <safonsof@amd.com> | 2024-07-08 11:21:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-08 11:21:23 +0100 |
commit | d6fb89903409c7977f90b9f2f6a557f04d3f7e35 (patch) | |
tree | eda66acbfd83289d21f9c479432c7790636fc477 /llvm/lib/CodeGen/CodeGenPrepare.cpp | |
parent | 4c23625357b0b6091bc97478a79d522a832c2b21 (diff) | |
download | llvm-d6fb89903409c7977f90b9f2f6a557f04d3f7e35.zip llvm-d6fb89903409c7977f90b9f2f6a557f04d3f7e35.tar.gz llvm-d6fb89903409c7977f90b9f2f6a557f04d3f7e35.tar.bz2 |
[MLIR][OpenMP] Improve loop wrapper representation (#97706)
This patch replaces the `SingleBlockImplicitTerminator<"TerminatorOp">`
trait of loop wrapper operations for the `SingleBlock` trait. This
enables a more robust implementation of the
`LoopWrapperInterface::isWrapper()` method, since it does no longer have
to deal with the potentially missing (implicit) terminator.
The `LoopWrapperInterface::isWrapper()` method is also extended to not
identify as wrappers those operations which have a loop wrapper
operation inside that is not taking a wrapper role. This is important
for cases where `omp.parallel` is nested, which can but is not required
to work as a loop wrapper.
Tests are updated to integrate these representation and validation
changes.
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
0 files changed, 0 insertions, 0 deletions