This patch adds support for lowering target-related combined constructs from PFT to MLIR. The lowering of OpenMP loop constructs is generalized in preparation for later supporting different combinations of target, teams, distribute, parallel and simd directives.
Currently enabled by this patch are the following combined constructs:
- do simd
- parallel do simd
- target parallel do simd
- target parallel do
- target simd
We might have all these defined in Semantics. Is it possible to reuse them?