The original implementation of the OpenMP dialect to LLVM IR translation has
been relying on a stack of insertion points for delayed insertion of branch
instructions that correspond to terminator ops. This is an intrusive into
ModuleTranslation and makes the translation non-local. A recent addition of the
WsLoop translation exercised another approach where the parent op is
responsible for converting terminators of all blocks in its regions. Use this
approach for other OpenMP dialect operations with regions, remove the stack and
deduplicate the code for converting such regions.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Thanks for this patch Alex. LGTM.
mlir/lib/Target/LLVMIR/ModuleTranslation.cpp | ||
---|---|---|
599 | Nit: Can this comment be also moved to the refactored code? |
mlir/lib/Target/LLVMIR/ModuleTranslation.cpp | ||
---|---|---|
599 | Will do before landing. |
Nit: Can this comment be also moved to the refactored code?