HomePhabricator

[OpenMP] Implement '#pragma omp unroll'.

Authored by Meinersbur on Jun 10 2021, 12:24 PM.

Description

[OpenMP] Implement '#pragma omp unroll'.

Implementation of the unroll directive introduced in OpenMP 5.1. Follows the approach from D76342 for the tile directive (i.e. AST-based, not using the OpenMPIRBuilder). Tries to use llvm.loop.unroll.* metadata where possible, but has to fall back to an AST representation of the outer loop if the partially unrolled generated loop is associated with another directive (because it needs to compute the number of iterations).

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D99459

Details

Committed
MeinersburJun 10 2021, 12:30 PM
Reviewer
ABataev
Differential Revision
D99459: [OpenMP] Implement '#pragma omp unroll'.
Parents
rGe0c605f6383c: [ARM] Ensure instructions are simplified prior to GatherScatter lowering.
Branches
Unknown
Tags
Unknown