Author: Hansang Bae
Date: 2021-01-06T16:28:30-06:00
New Revision: fb1c52852690cb6ad6f7f2a7b5c35bf4d0c56e44

URL: 
https://github.com/llvm/llvm-project/commit/fb1c52852690cb6ad6f7f2a7b5c35bf4d0c56e44
DIFF: 
https://github.com/llvm/llvm-project/commit/fb1c52852690cb6ad6f7f2a7b5c35bf4d0c56e44.diff

LOG: [OpenMP] Use c_int/c_size_t in Fortran target memory routine interface

The Fortran interface is now in line with 5.1 specification.

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

Added: 
    

Modified: 
    openmp/runtime/src/include/omp_lib.f90.var
    openmp/runtime/src/include/omp_lib.h.var

Removed: 
    


################################################################################
diff  --git a/openmp/runtime/src/include/omp_lib.f90.var 
b/openmp/runtime/src/include/omp_lib.f90.var
index 1bde868a505b..24f8a2af4c5e 100644
--- a/openmp/runtime/src/include/omp_lib.f90.var
+++ b/openmp/runtime/src/include/omp_lib.f90.var
@@ -512,59 +512,54 @@
           function omp_target_alloc(size, device_num) bind(c)
             use omp_lib_kinds
             type(c_ptr) omp_target_alloc
-            integer (kind=kmp_size_t_kind), value :: size
-            integer (kind=omp_integer_kind), value :: device_num
+            integer(c_size_t), value :: size
+            integer(c_int), value :: device_num
           end function omp_target_alloc
 
           subroutine omp_target_free(device_ptr, device_num) bind(c)
             use omp_lib_kinds
             type(c_ptr), value :: device_ptr
-            integer (kind=omp_integer_kind), value :: device_num
+            integer(c_int), value :: device_num
           end subroutine omp_target_free
 
           function omp_target_is_present(ptr, device_num) bind(c)
             use omp_lib_kinds
-            integer (kind=omp_integer_kind) omp_target_is_present
+            integer(c_int) omp_target_is_present
             type(c_ptr), value :: ptr
-            integer (kind=omp_integer_kind), value :: device_num
+            integer(c_int), value :: device_num
           end function omp_target_is_present
 
           function omp_target_memcpy(dst, src, length, dst_offset, src_offset, 
&
               dst_device_num, src_device_num) bind(c)
             use omp_lib_kinds
-            integer (kind=omp_integer_kind) omp_target_memcpy
+            integer(c_int) omp_target_memcpy
             type(c_ptr), value :: dst, src
-            integer (kind=kmp_size_t_kind), value :: length, dst_offset,       
&
-                src_offset
-            integer (kind=omp_integer_kind), value :: dst_device_num,          
&
-                src_device_num
+            integer(c_size_t), value :: length, dst_offset, src_offset
+            integer(c_int), value :: dst_device_num, src_device_num
           end function omp_target_memcpy
 
           function omp_target_memcpy_rect(dst, src, element_size, num_dims,    
&
               volume, dst_offsets, src_offsets, dst_dimensions,                
&
               src_dimensions, dst_device_num, src_device_num) bind(c)
             use omp_lib_kinds
-            integer (kind=omp_integer_kind) omp_target_memcpy_rect
+            integer(c_int) omp_target_memcpy_rect
             type(c_ptr), value :: dst, src
-            integer (kind=kmp_size_t_kind), value :: element_size
-            integer (kind=omp_integer_kind), value :: num_dims,                
&
-                dst_device_num, src_device_num
-            integer (kind=kmp_size_t_kind), intent(in) :: volume(*),           
&
-                dst_offsets(*), src_offsets(*), dst_dimensions(*),             
&
-                src_dimensions(*)
+            integer(c_size_t), value :: element_size
+            integer(c_int), value :: num_dims, dst_device_num, src_device_num
+            integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),        
&
+                src_offsets(*), dst_dimensions(*), src_dimensions(*)
           end function omp_target_memcpy_rect
 
           function omp_target_memcpy_async(dst, src, length, dst_offset,       
&
               src_offset, dst_device_num, src_device_num, depobj_count,        
&
               depobj_list) bind(c)
             use omp_lib_kinds
-            integer (kind=omp_integer_kind) omp_target_memcpy_async
+            integer(c_int) omp_target_memcpy_async
             type(c_ptr), value :: dst, src
-            integer (kind=kmp_size_t_kind), value :: length, dst_offset,       
&
-                src_offset
-            integer (kind=omp_integer_kind), value :: dst_device_num,          
&
-                src_device_num, depobj_count
-            integer (kind=omp_depend_kind), optional :: depobj_list(*)
+            integer(c_size_t), value :: length, dst_offset, src_offset
+            integer(c_int), value :: dst_device_num, src_device_num,           
&
+                depobj_count
+            integer(omp_depend_kind), optional :: depobj_list(*)
           end function omp_target_memcpy_async
 
           function omp_target_memcpy_rect_async(dst, src, element_size,        
&
@@ -572,38 +567,37 @@
               src_dimensions, dst_device_num, src_device_num, depobj_count,    
&
               depobj_list) bind(c)
             use omp_lib_kinds
-            integer (kind=omp_integer_kind) omp_target_memcpy_rect_async
+            integer(c_int) omp_target_memcpy_rect_async
             type(c_ptr), value :: dst, src
-            integer (kind=kmp_size_t_kind), value :: element_size
-            integer (kind=omp_integer_kind), value :: num_dims,                
&
-                dst_device_num, src_device_num, depobj_count
-            integer (kind=kmp_size_t_kind), intent(in) :: volume(*),           
&
-                dst_offsets(*), src_offsets(*), dst_dimensions(*),             
&
-                src_dimensions(*)
-            integer (kind=omp_depend_kind), optional :: depobj_list(*)
+            integer(c_size_t), value :: element_size
+            integer(c_int), value :: num_dims, dst_device_num, src_device_num, 
&
+                depobj_count
+            integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),        
&
+                src_offsets(*), dst_dimensions(*), src_dimensions(*)
+            integer (omp_depend_kind), optional :: depobj_list(*)
           end function omp_target_memcpy_rect_async
 
           function omp_target_associate_ptr(host_ptr, device_ptr, size,        
&
               device_offset, device_num) bind(c)
             use omp_lib_kinds
-            integer (kind=omp_integer_kind) omp_target_associate_ptr
+            integer(c_int) omp_target_associate_ptr
             type(c_ptr), value :: host_ptr, device_ptr
-            integer (kind=kmp_size_t_kind), value :: size, device_offset
-            integer (kind=omp_integer_kind), value :: device_num
+            integer(c_size_t), value :: size, device_offset
+            integer(c_int), value :: device_num
           end function omp_target_associate_ptr
 
           function omp_get_mapped_ptr(ptr, device_num) bind(c)
             use omp_lib_kinds
             type(c_ptr) omp_get_mapped_ptr
             type(c_ptr), value :: ptr
-            integer (kind=omp_integer_kind), value :: device_num
+            integer(c_int), value :: device_num
           end function omp_get_mapped_ptr
 
           function omp_target_disassociate_ptr(ptr, device_num) bind(c)
             use omp_lib_kinds
-            integer (kind=omp_integer_kind) omp_target_disassociate_ptr
+            integer(c_int) omp_target_disassociate_ptr
             type(c_ptr), value :: ptr
-            integer (kind=omp_integer_kind), value :: device_num
+            integer(c_int), value :: device_num
           end function omp_target_disassociate_ptr
 
 !         ***

diff  --git a/openmp/runtime/src/include/omp_lib.h.var 
b/openmp/runtime/src/include/omp_lib.h.var
index b649a8071e6f..05140b04f273 100644
--- a/openmp/runtime/src/include/omp_lib.h.var
+++ b/openmp/runtime/src/include/omp_lib.h.var
@@ -586,110 +586,97 @@
         end subroutine omp_display_env
 
         function omp_target_alloc(size, device_num) bind(c)
-          use, intrinsic :: iso_c_binding, only : c_ptr
-          import
+          use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
           type(c_ptr) omp_target_alloc
-          integer (kind=kmp_size_t_kind), value :: size
-          integer (kind=omp_integer_kind), value :: device_num
+          integer(c_size_t), value :: size
+          integer(c_int), value :: device_num
         end function omp_target_alloc
 
         subroutine omp_target_free(device_ptr, device_num) bind(c)
-          use, intrinsic :: iso_c_binding, only : c_ptr
-          import
+          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
           type(c_ptr), value :: device_ptr
-          integer (kind=omp_integer_kind), value :: device_num
+          integer(c_int), value :: device_num
         end subroutine omp_target_free
 
         function omp_target_is_present(ptr, device_num) bind(c)
-          use, intrinsic :: iso_c_binding, only : c_ptr
-          import
-          integer (kind=omp_integer_kind) omp_target_is_present
+          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
+          integer(c_int) omp_target_is_present
           type(c_ptr), value :: ptr
-          integer (kind=omp_integer_kind), value :: device_num
+          integer(c_int), value :: device_num
         end function omp_target_is_present
 
         function omp_target_memcpy(dst, src, length, dst_offset,               
                                                     &
      &      src_offset, dst_device_num, src_device_num) bind(c)
-          use, intrinsic :: iso_c_binding, only : c_ptr
-          import
-          integer (kind=omp_integer_kind) omp_target_memcpy
+          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
+          integer(c_int) omp_target_memcpy
           type(c_ptr), value :: dst, src
-          integer (kind=kmp_size_t_kind), value :: length, dst_offset,         
                                                     &
-     &        src_offset
-          integer (kind=omp_integer_kind), value :: dst_device_num,            
                                                     &
-     &        src_device_num
+          integer(c_size_t), value :: length, dst_offset, src_offset
+          integer(c_int), value :: dst_device_num, src_device_num
         end function omp_target_memcpy
 
         function omp_target_memcpy_rect(dst, src, element_size,                
                                                     &
      &      num_dims, volume, dst_offsets, src_offsets, dst_dimensions,        
                                                     &
      &      src_dimensions, dst_device_num, src_device_num) bind(c)
-          use, intrinsic :: iso_c_binding, only : c_ptr
-          import
-          integer (kind=omp_integer_kind) omp_target_memcpy_rect
+          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
+          integer(c_int) omp_target_memcpy_rect
           type(c_ptr), value :: dst, src
-          integer (kind=kmp_size_t_kind), value :: element_size
-          integer (kind=omp_integer_kind), value :: num_dims,                  
                                                     &
-     &        dst_device_num, src_device_num
-          integer (kind=kmp_size_t_kind), intent(in) :: volume(*),             
                                                     &
-     &        dst_offsets(*), src_offsets(*), dst_dimensions(*),               
                                                     &
-     &        src_dimensions(*)
+          integer(c_size_t), value :: element_size
+          integer(c_int), value :: num_dims, dst_device_num,                   
                                                     &
+     &        src_device_num
+          integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),          
                                                     &
+     &        src_offsets(*), dst_dimensions(*), src_dimensions(*)
         end function omp_target_memcpy_rect
 
         function omp_target_memcpy_async(dst, src, length, dst_offset,         
                                                     &
      &      src_offset, dst_device_num, src_device_num, depobj_count,          
                                                     &
      &      depobj_list) bind(c)
-          use, intrinsic :: iso_c_binding, only : c_ptr
+          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
           import
-          integer (kind=omp_integer_kind) omp_target_memcpy_async
+          integer(c_int) omp_target_memcpy_async
           type(c_ptr), value :: dst, src
-          integer (kind=kmp_size_t_kind), value :: length, dst_offset,         
                                                     &
-     &        src_offset
-          integer (kind=omp_integer_kind), value :: dst_device_num,            
                                                     &
-     &        src_device_num, depobj_count
-          integer (kind=omp_depend_kind), optional :: depobj_list(*)
+          integer(c_size_t), value :: length, dst_offset, src_offset
+          integer(c_int), value :: dst_device_num, src_device_num,             
                                                     &
+     &        depobj_count
+          integer(omp_depend_kind), optional :: depobj_list(*)
         end function omp_target_memcpy_async
 
         function omp_target_memcpy_rect_async(dst, src, element_size,          
                                                     &
      &      num_dims, volume, dst_offsets, src_offsets, dst_dimensions,        
                                                     &
      &      src_dimensions, dst_device_num, src_device_num,                    
                                                     &
      &      depobj_count, depobj_list) bind(c)
-          use, intrinsic :: iso_c_binding, only : c_ptr
+          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
           import
-          integer (kind=omp_integer_kind) omp_target_memcpy_rect_async
+          integer(c_int) omp_target_memcpy_rect_async
           type(c_ptr), value :: dst, src
-          integer (kind=kmp_size_t_kind), value :: element_size
-          integer (kind=omp_integer_kind), value :: num_dims,                  
                                                     &
-     &        dst_device_num, src_device_num, depobj_count
-          integer (kind=kmp_size_t_kind), intent(in) :: volume(*),             
                                                     &
-     &        dst_offsets(*), src_offsets(*), dst_dimensions(*),               
                                                     &
-     &        src_dimensions(*)
-          integer (kind=omp_depend_kind), optional :: depobj_list(*)
+          integer(c_size_t), value :: element_size
+          integer(c_int), value :: num_dims, dst_device_num,                   
                                                     &
+     &        src_device_num, depobj_count
+          integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),          
                                                     &
+     &        src_offsets(*), dst_dimensions(*), src_dimensions(*)
+          integer(omp_depend_kind), optional :: depobj_list(*)
         end function omp_target_memcpy_rect_async
 
         function omp_target_associate_ptr(host_ptr, device_ptr, size,          
                                                     &
      &      device_offset, device_num) bind(c)
-          use, intrinsic :: iso_c_binding, only : c_ptr
-          import
-          integer (kind=omp_integer_kind) omp_target_associate_ptr
+          use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
+          integer(c_int) omp_target_associate_ptr
           type(c_ptr), value :: host_ptr, device_ptr
-          integer (kind=kmp_size_t_kind), value :: size, device_offset
-          integer (kind=omp_integer_kind), value :: device_num
+          integer(c_size_t), value :: size, device_offset
+          integer(c_int), value :: device_num
         end function omp_target_associate_ptr
 
         function omp_get_mapped_ptr(ptr, device_num) bind(c)
-          use, intrinsic :: iso_c_binding, only : c_ptr
-          import
+          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
           type(c_ptr) omp_get_mapped_ptr
           type(c_ptr), value :: ptr
-          integer (kind=omp_integer_kind), value :: device_num
+          integer(c_int), value :: device_num
         end function omp_get_mapped_ptr
 
         function omp_target_disassociate_ptr(ptr, device_num) bind(c)
-          use, intrinsic :: iso_c_binding, only : c_ptr
-          import
-          integer (kind=omp_integer_kind) omp_target_disassociate_ptr
+          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
+          integer(c_int) omp_target_disassociate_ptr
           type(c_ptr), value :: ptr
-          integer (kind=omp_integer_kind), value :: device_num
+          integer(c_int), value :: device_num
         end function omp_target_disassociate_ptr
 
 !       ***


        
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to