[llvm-branch-commits] [flang] [MLIR][OpenMP] Add Lowering support for OpenMP Declare Mapper directive (PR #117046)
Sergio Afonso via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Feb 7 06:58:33 PST 2025
================
@@ -0,0 +1,85 @@
+! This test checks lowering of OpenMP declare mapper Directive.
+
+! RUN: split-file %s %t
+! RUN: %flang_fc1 -emit-hlfir -fopenmp -fopenmp-version=50 %t/omp-declare-mapper-1.f90 -o - | FileCheck %t/omp-declare-mapper-1.f90
+! RUN: %flang_fc1 -emit-hlfir -fopenmp -fopenmp-version=50 %t/omp-declare-mapper-2.f90 -o - | FileCheck %t/omp-declare-mapper-2.f90
+
+!--- omp-declare-mapper-1.f90
+subroutine declare_mapper_1
+ integer, parameter :: nvals = 250
+ type my_type
+ integer :: num_vals
+ integer, allocatable :: values(:)
+ end type
+
+ type my_type2
+ type(my_type) :: my_type_var
+ type(my_type) :: temp
+ real, dimension(nvals) :: unmapped
+ real, dimension(nvals) :: arr
+ end type
+ type(my_type2) :: t
+ real :: x, y(nvals)
+ !CHECK-LABEL:omp.declare_mapper @_QQFdeclare_mapper_1my_type.default : !fir.type<_QFdeclare_mapper_1Tmy_type{num_vals:i32,values:!fir.box<!fir.heap<!fir.array<?xi32>>>}> {
----------------
skatrak wrote:
Nit: I think it would make this test much simpler to understand and update in the future if we gave these long type strings and declare mapper symbols a name and reused them.
```suggestion
!CHECK-LABEL:omp.declare_mapper @[[MY_TYPE_MAPPER:_QQFdeclare_mapper_1my_type\.default]] : [[MY_TYPE:!fir\.type<_QFdeclare_mapper_1Tmy_type{num_vals:i32,values:!fir\.box<!fir\.heap<!fir\.array<?xi32>>>}>]] {
```
https://github.com/llvm/llvm-project/pull/117046
More information about the llvm-branch-commits
mailing list