Skip to content

[Flang][OpenMP] readd enable-delayed-privatization-staging for implic… - #204466

Merged
Jason-Van-Beusekom merged 1 commit into
llvm:mainfrom
Jason-Van-Beusekom:implicit-firstprivate-revert
Jun 26, 2026
Merged

[Flang][OpenMP] readd enable-delayed-privatization-staging for implic…#204466
Jason-Van-Beusekom merged 1 commit into
llvm:mainfrom
Jason-Van-Beusekom:implicit-firstprivate-revert

Conversation

@Jason-Van-Beusekom

Copy link
Copy Markdown
Contributor

…t firstprivate

In e57ebfd I removed the flag enableDelayedPrivatizationStaging enabling Delayed Privatization for firstprivate on OpenMP target regions, this resulted in regressions for implicit firstprivate tests:

module fp_data
integer(8), parameter :: n1=50
real(8), dimension(n1) :: a_8, b_8, c_8
end module
program fp_repro
use fp_data; real(8) :: temp, tempin=100.
do i=1,n1; a_8(i)=i; b_8(i)=i*2-333.; c_8(i)=0; enddo
!$omp target
!$omp teams shared(a_8,b_8,c_8) private(temp)
!$omp distribute private(temp) firstprivate(tempin)
do i=1,n1
temp = a_8(i)/b_8(i)
c_8(i) = temp + 1.0/temp + tempin
end do
!$omp end distribute
!$omp end teams
!$omp end target
print *, c_8(1) ! expected -231.00302
end program

This PR readds enableDelayedPrivatizationStaging flag for the implicit case and also guards the explicit change via enableDelayedPrivatization instead of enableDelayedPrivatizationStaging.

@Jason-Van-Beusekom
Jason-Van-Beusekom marked this pull request as ready for review June 17, 2026 21:37
@llvmorg-github-actions llvmorg-github-actions Bot added flang Flang issues not falling into any other category flang:fir-hlfir flang:openmp flang:semantics labels Jun 17, 2026
@llvmorg-github-actions

llvmorg-github-actions Bot commented Jun 17, 2026

Copy link
Copy Markdown

@llvm/pr-subscribers-flang-semantics
@llvm/pr-subscribers-flang-fir-hlfir

@llvm/pr-subscribers-flang-openmp

Author: Jason Van Beusekom (Jason-Van-Beusekom)

Changes

…t firstprivate

In e57ebfd I removed the flag enableDelayedPrivatizationStaging enabling Delayed Privatization for firstprivate on OpenMP target regions, this resulted in regressions for implicit firstprivate tests:

module fp_data
integer(8), parameter :: n1=50
real(8), dimension(n1) :: a_8, b_8, c_8
end module
program fp_repro
use fp_data; real(8) :: temp, tempin=100.
do i=1,n1; a_8(i)=i; b_8(i)=i*2-333.; c_8(i)=0; enddo
!$omp target
!$omp teams shared(a_8,b_8,c_8) private(temp)
!$omp distribute private(temp) firstprivate(tempin)
do i=1,n1
temp = a_8(i)/b_8(i)
c_8(i) = temp + 1.0/temp + tempin
end do
!$omp end distribute
!$omp end teams
!$omp end target
print *, c_8(1) ! expected -231.00302
end program

This PR readds enableDelayedPrivatizationStaging flag for the implicit case and also guards the explicit change via enableDelayedPrivatization instead of enableDelayedPrivatizationStaging.


Patch is 24.93 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/204466.diff

15 Files Affected:

  • (modified) flang/include/flang/Support/Flags.h (+1)
  • (modified) flang/lib/Lower/OpenMP/OpenMP.cpp (+5)
  • (modified) flang/lib/Semantics/resolve-directives.cpp (+3-1)
  • (modified) flang/lib/Support/Flags.cpp (+6)
  • (modified) flang/test/Integration/OpenMP/map-types-and-sizes.f90 (+8-4)
  • (modified) flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90 (+2-2)
  • (modified) flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90 (+1-1)
  • (modified) flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90 (+4-2)
  • (modified) flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90 (+1-1)
  • (modified) flang/test/Lower/OpenMP/defaultmap.f90 (+4-1)
  • (modified) flang/test/Lower/OpenMP/optional-argument-map-2.f90 (+35-1)
  • (modified) flang/test/Lower/OpenMP/target-map-complex.f90 (+10-6)
  • (modified) flang/test/Lower/OpenMP/target-scope.f90 (+2-2)
  • (modified) flang/test/Lower/OpenMP/target.f90 (+10-1)
  • (modified) flang/test/Semantics/OpenMP/symbol08.f90 (+2-2)
diff --git a/flang/include/flang/Support/Flags.h b/flang/include/flang/Support/Flags.h
index 979699131ad8f..bcbb72f8e50d0 100644
--- a/flang/include/flang/Support/Flags.h
+++ b/flang/include/flang/Support/Flags.h
@@ -12,5 +12,6 @@
 #include "llvm/Support/CommandLine.h"
 
 extern llvm::cl::opt<bool> enableDelayedPrivatization;
+extern llvm::cl::opt<bool> enableDelayedPrivatizationStaging;
 
 #endif // FORTRAN_SUPPORT_FLAGS_H_
diff --git a/flang/lib/Lower/OpenMP/OpenMP.cpp b/flang/lib/Lower/OpenMP/OpenMP.cpp
index facca9867e4bb..0ef85dca3234c 100644
--- a/flang/lib/Lower/OpenMP/OpenMP.cpp
+++ b/flang/lib/Lower/OpenMP/OpenMP.cpp
@@ -2010,6 +2010,11 @@ genTargetClauses(lower::AbstractConverter &converter,
   cp.processThreadLimit(stmtCtx, clauseOps);
   cp.processTODO<clause::Allocate, clause::InReduction, clause::UsesAllocators>(
       loc, llvm::omp::Directive::OMPD_target);
+
+  // `target private(..)` is only supported in delayed privatization mode.
+  if (!enableDelayedPrivatization)
+    cp.processTODO<clause::Firstprivate, clause::Private>(
+        loc, llvm::omp::Directive::OMPD_target);
 }
 
 static void genTargetDataClauses(
diff --git a/flang/lib/Semantics/resolve-directives.cpp b/flang/lib/Semantics/resolve-directives.cpp
index 0e2dda8398c18..db0c02c9bd5b4 100644
--- a/flang/lib/Semantics/resolve-directives.cpp
+++ b/flang/lib/Semantics/resolve-directives.cpp
@@ -25,6 +25,7 @@
 #include "flang/Semantics/openmp-utils.h"
 #include "flang/Semantics/symbol.h"
 #include "flang/Semantics/tools.h"
+#include "flang/Support/Flags.h"
 #include "llvm/ADT/StringMap.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Frontend/OpenMP/OMP.h.inc"
@@ -2728,7 +2729,8 @@ void OmpAttributeVisitor::CreateImplicitSymbols(
       // 4) not mapped target variable  -> firstprivate
       //    - i.e. implicit, but meets OpenMP specification rules for
       //    firstprivate "promotion"
-      if (IsTargetCaptureImplicitlyFirstprivatizeable(*symbol, prevDSA,
+      if (enableDelayedPrivatizationStaging &&
+          IsTargetCaptureImplicitlyFirstprivatizeable(*symbol, prevDSA,
               dataSharingAttributeFlags, dataMappingAttributeFlags,
               dirContext.defaultMap)) {
         prevDSA.set(Symbol::Flag::OmpImplicit);
diff --git a/flang/lib/Support/Flags.cpp b/flang/lib/Support/Flags.cpp
index 3bc8d4685b7dc..02f64981618dd 100644
--- a/flang/lib/Support/Flags.cpp
+++ b/flang/lib/Support/Flags.cpp
@@ -12,3 +12,9 @@ llvm::cl::opt<bool> enableDelayedPrivatization("enable-delayed-privatization",
     llvm::cl::desc(
         "Emit private/local variables as clauses/specifiers on MLIR ops."),
     llvm::cl::init(true));
+
+llvm::cl::opt<bool> enableDelayedPrivatizationStaging(
+    "enable-delayed-privatization-staging",
+    llvm::cl::desc("For partially supported constructs, emit private/local "
+                   "variables as clauses/specifiers on MLIR ops."),
+    llvm::cl::init(false));
diff --git a/flang/test/Integration/OpenMP/map-types-and-sizes.f90 b/flang/test/Integration/OpenMP/map-types-and-sizes.f90
index 1a266dfff68d0..93f28a7525e19 100644
--- a/flang/test/Integration/OpenMP/map-types-and-sizes.f90
+++ b/flang/test/Integration/OpenMP/map-types-and-sizes.f90
@@ -6,7 +6,8 @@
 ! added to this directory and sub-directories.
 !===----------------------------------------------------------------------===!
 
-!RUN: %flang_fc1 -emit-llvm -fopenmp -fopenmp-version=51 -fopenmp-targets=amdgcn-amd-amdhsa %s -o - | FileCheck %s
+!RUN: %flang_fc1 -emit-llvm -fopenmp -mmlir --enable-delayed-privatization-staging=false -fopenmp-version=51 -fopenmp-targets=amdgcn-amd-amdhsa %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-NO-FPRIV
+!RUN: %flang_fc1 -emit-llvm -fopenmp -mmlir --enable-delayed-privatization-staging=true -fopenmp-version=51 -fopenmp-targets=amdgcn-amd-amdhsa %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-FPRIV
 
 
 !===============================================================================
@@ -14,7 +15,8 @@
 !===============================================================================
 
 !CHECK: @.offload_sizes = private unnamed_addr constant [2 x i64] [i64 4, i64 0]
-!CHECK: @.offload_maptypes = private unnamed_addr constant [2 x i64] [i64 289, i64 288]
+!CHECK-FPRIV: @.offload_maptypes = private unnamed_addr constant [2 x i64] [i64 289, i64 288]
+!CHECK-NO-FPRIV: @.offload_maptypes = private unnamed_addr constant [2 x i64] [i64 800, i64 288]
 subroutine mapType_scalar
   integer :: a
   !$omp target
@@ -382,7 +384,8 @@ subroutine mapType_nested_derived_type_member_idx()
 end subroutine
 
 !CHECK: @.offload_sizes{{.*}} = private unnamed_addr constant [3 x i64] [i64 8, i64 4, i64 0]
-!CHECK: @.offload_maptypes{{.*}} = private unnamed_addr constant [3 x i64] [i64 544, i64 289, i64 288]
+!CHECK-FPRIV: @.offload_maptypes{{.*}} = private unnamed_addr constant [3 x i64] [i64 544, i64 289, i64 288]
+!CHECK-NO-FPRIV: @.offload_maptypes{{.*}} = private unnamed_addr constant [3 x i64] [i64 544, i64 800, i64 288]
 subroutine mapType_c_ptr
   use iso_c_binding, only : c_ptr, c_loc
   type(c_ptr) :: a
@@ -393,7 +396,8 @@ subroutine mapType_c_ptr
 end subroutine mapType_c_ptr
 
 !CHECK: @.offload_sizes{{.*}} = private unnamed_addr constant [2 x i64] [i64 1, i64 0]
-!CHECK: @.offload_maptypes{{.*}} = private unnamed_addr constant [2 x i64] [i64 289, i64 288]
+!CHECK-FPRIV: @.offload_maptypes{{.*}} = private unnamed_addr constant [2 x i64] [i64 289, i64 288]
+!CHECK-NO-FPRIV: @.offload_maptypes{{.*}} = private unnamed_addr constant [2 x i64] [i64 800, i64 288]
 subroutine mapType_char
   character :: a
   !$omp target
diff --git a/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90 b/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
index cc478e8ee6b84..3f1ed7842f560 100644
--- a/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
+++ b/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
@@ -2,8 +2,8 @@
 ! module boundaries.
 
 ! RUN: split-file %s %t
-! RUN: bbc -emit-hlfir -fopenmp -fopenmp-version=50 %t/imp_scalar_map_module.f90 -o - | FileCheck %s --check-prefix=CHECK-MOD
-! RUN: bbc -emit-hlfir -fopenmp -fopenmp-version=50 %t/imp_scalar_map_target.f90 -o - | FileCheck %s --check-prefix=CHECK-PROG
+! RUN: bbc -emit-hlfir -fopenmp --enable-delayed-privatization-staging -fopenmp-version=50 %t/imp_scalar_map_module.f90 -o - | FileCheck %s --check-prefix=CHECK-MOD
+! RUN: bbc -emit-hlfir -fopenmp --enable-delayed-privatization-staging -fopenmp-version=50 %t/imp_scalar_map_target.f90 -o - | FileCheck %s --check-prefix=CHECK-PROG
 
 !--- imp_scalar_map_module.f90
 module test_data
diff --git a/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90 b/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
index 7246136f0a2f8..52a1f31cc3ce3 100644
--- a/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
+++ b/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
@@ -1,7 +1,7 @@
 ! Tests delayed privatization works for implicit capture of scalars similarly to
 ! the way it works for explicitly firstprivitized scalars.
 
-! RUN: %flang_fc1 -emit-mlir -fopenmp \
+! RUN: %flang_fc1 -emit-mlir -fopenmp -mmlir --enable-delayed-privatization-staging \
 ! RUN:   -o - %s 2>&1 | FileCheck %s
 
 ! CHECK-LABEL:   omp.private {type = firstprivate} @_QFExdgfx_firstprivate_i32 : i32 copy {
diff --git a/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90 b/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
index b6fc246799d32..3cc50129dfab6 100644
--- a/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
+++ b/flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
@@ -1,7 +1,9 @@
 ! Tests delayed privatization for `targets ... private(..)` for allocatables.
 
-! RUN: %flang_fc1 -emit-hlfir -fopenmp -o - %s 2>&1 | FileCheck %s
-! RUN: bbc -emit-hlfir -fopenmp -o - %s 2>&1 | FileCheck %s
+! RUN: %flang_fc1 -emit-hlfir -fopenmp -mmlir --enable-delayed-privatization-staging \
+! RUN:   -o - %s 2>&1 | FileCheck %s
+! RUN: bbc -emit-hlfir -fopenmp --enable-delayed-privatization-staging -o - %s 2>&1 \
+! RUN:   | FileCheck %s
 
 subroutine target_allocatable(lb, ub, l)
   implicit none
diff --git a/flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90 b/flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
index f288c4c4b1b65..7661ced82bf69 100644
--- a/flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
+++ b/flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
@@ -1,7 +1,7 @@
 ! Tests delayed privatization works for implicit capture of scalars similarly to
 ! the way it works for explicitly firstprivitized scalars.
 
-! RUN: %flang_fc1 -emit-mlir -fopenmp \
+! RUN: %flang_fc1 -emit-mlir -fopenmp -mmlir --enable-delayed-privatization-staging \
 ! RUN:   -o - %s 2>&1 | FileCheck %s
 
 !CHECK:   omp.private {type = private} @[[SYM_K:.*]] : i32
diff --git a/flang/test/Lower/OpenMP/defaultmap.f90 b/flang/test/Lower/OpenMP/defaultmap.f90
index 42bc47a719df7..093f8fb79c6df 100644
--- a/flang/test/Lower/OpenMP/defaultmap.f90
+++ b/flang/test/Lower/OpenMP/defaultmap.f90
@@ -1,4 +1,5 @@
-!RUN: %flang_fc1 -emit-hlfir -fopenmp -fopenmp-version=52 %s -o - | FileCheck %s  --check-prefixes=CHECK,CHECK-FPRIV
+!RUN: %flang_fc1 -emit-hlfir -fopenmp -fopenmp-version=52 -mmlir --enable-delayed-privatization-staging=false %s -o - | FileCheck %s  --check-prefixes=CHECK,CHECK-NO-FPRIV
+!RUN: %flang_fc1 -emit-hlfir -fopenmp -fopenmp-version=52 -mmlir --enable-delayed-privatization-staging=true %s -o - | FileCheck %s  --check-prefixes=CHECK,CHECK-FPRIV
 
 subroutine defaultmap_allocatable_present()
     implicit none
@@ -49,9 +50,11 @@ subroutine defaultmap_pointer_to()
     integer, dimension(:), pointer :: arr_ptr(:)
     integer :: scalar_int
 
+! CHECK-NO-FPRIV: %[[MAP_1:.*]] = omp.map.info var_ptr({{.*}} : !fir.ref<!fir.box<!fir.ptr<!fir.array<?xi32>>>>, !fir.box<!fir.ptr<!fir.array<?xi32>>>) map_clauses(implicit, to) capture(ByRef) var_ptr_ptr({{.*}}) bounds({{.*}}) -> !fir.llvm_ptr<!fir.ref<!fir.array<?xi32>>> {name = ""}
 ! CHECK-FPRIV: %[[MAP_1:.*]] = omp.map.info var_ptr({{.*}} : !fir.ref<!fir.box<!fir.ptr<!fir.array<?xi32>>>>, !fir.box<!fir.ptr<!fir.array<?xi32>>>) map_clauses(implicit, to) capture(ByRef) var_ptr_ptr({{.*}}) bounds({{.*}}) -> !fir.llvm_ptr<!fir.ref<!fir.array<?xi32>>> {name = ""}
 ! CHECK: %[[MAP_2:.*]] = omp.map.info var_ptr({{.*}} : !fir.ref<!fir.box<!fir.ptr<!fir.array<?xi32>>>>, !fir.box<!fir.ptr<!fir.array<?xi32>>>) map_clauses(always, implicit, to) capture(ByRef) members({{.*}}) -> !fir.ref<!fir.box<!fir.ptr<!fir.array<?xi32>>>> {name = "arr_ptr"}
 ! CHECK-FPRIV: %[[MAP_3:.*]] = omp.map.info var_ptr({{.*}} : !fir.ref<i32>, i32) map_clauses(to) capture(ByCopy) -> !fir.ref<i32>
+! CHECK-NO-FPRIV: %[[MAP_3:.*]] = omp.map.info var_ptr({{.*}} : !fir.ref<i32>, i32) map_clauses(implicit) capture(ByCopy) -> !fir.ref<i32> {name = "scalar_int"}
     !$omp target defaultmap(to: pointer)
         arr_ptr(1) = scalar_int + 20
     !$omp end target
diff --git a/flang/test/Lower/OpenMP/optional-argument-map-2.f90 b/flang/test/Lower/OpenMP/optional-argument-map-2.f90
index 78122547bf828..b6366e2d83f2b 100644
--- a/flang/test/Lower/OpenMP/optional-argument-map-2.f90
+++ b/flang/test/Lower/OpenMP/optional-argument-map-2.f90
@@ -1,4 +1,5 @@
-!RUN: %flang_fc1 -emit-hlfir -fopenmp %s -o - | FileCheck %s  --check-prefixes=CHECK,CHECK-FPRIV
+!RUN: %flang_fc1 -emit-hlfir -fopenmp -mmlir --enable-delayed-privatization-staging=false %s -o - | FileCheck %s  --check-prefixes=CHECK,CHECK-NO-FPRIV
+!RUN: %flang_fc1 -emit-hlfir -fopenmp -mmlir --enable-delayed-privatization-staging=true %s -o - | FileCheck %s  --check-prefixes=CHECK,CHECK-FPRIV
 
 module mod
   implicit none
@@ -82,3 +83,36 @@ end module mod
 ! CHECK-FPRIV:         hlfir.assign %[[VAL_28]]#0 to %[[VAL_26]]#0 : !fir.boxchar<1>, !fir.ref<!fir.char<1,4>>
 ! CHECK-FPRIV:       return
 ! CHECK-FPRIV:     }
+! CHECK-NO-FPRIV:  %[[VAL_8:.*]] = fir.is_present %[[VAL_3]]#1 : (!fir.ref<!fir.char<1,?>>) -> i1
+! CHECK-NO-FPRIV:  %[[VAL_9:.*]] = arith.constant 0 : index
+! CHECK-NO-FPRIV:  %[[VAL_10:.*]] = arith.constant 1 : index
+! CHECK-NO-FPRIV:  %[[VAL_11:.*]]:2 = fir.if %[[VAL_8]] -> (index, index) {
+! CHECK-NO-FPRIV:    %[[VAL_12:.*]]:2 = fir.unboxchar %[[VAL_3]]#0 : (!fir.boxchar<1>) -> (!fir.ref<!fir.char<1,?>>, index)
+! CHECK-NO-FPRIV:       fir.result %[[VAL_12]]#1, %[[VAL_10]] : index, index
+! CHECK-NO-FPRIV:     } else {
+! CHECK-NO-FPRIV:       fir.result %[[VAL_9]], %[[VAL_9]] : index, index
+! CHECK-NO-FPRIV:     }
+! CHECK-NO-FPRIV:  %[[VAL_13:.*]] = arith.subi %[[VAL_14:.*]]#0, %[[VAL_10]] : index
+! CHECK-NO-FPRIV:  %[[VAL_15:.*]] = omp.map.bounds lower_bound(%[[VAL_9]] : index) upper_bound(%[[VAL_13]] : index) extent(%[[VAL_14]]#0 : index) stride(%[[VAL_14]]#1 : index) start_idx(%[[VAL_9]] : index) {stride_in_bytes = true}
+! CHECK-NO-FPRIV:  %[[VAL_16:.*]] = omp.map.info var_ptr(%[[VAL_3]]#1 : !fir.ref<!fir.char<1,?>>, !fir.char<1,?>) map_clauses(implicit) capture(ByCopy) bounds(%[[VAL_15]]) -> !fir.ref<!fir.char<1,?>> {name = "a"}
+! CHECK-NO-FPRIV:  fir.store %[[ARG0]] to %[[VAL_0]] : !fir.ref<!fir.boxchar<1>>
+! CHECK-NO-FPRIV:  %[[VAL_17:.*]] = arith.constant 0 : index
+! CHECK-NO-FPRIV:  %[[VAL_18:.*]] = arith.constant 1 : index
+! CHECK-NO-FPRIV:           %[[VAL_19:.*]]:2 = fir.unboxchar %[[ARG0]] : (!fir.boxchar<1>) -> (!fir.ref<!fir.char<1,?>>, index)
+! CHECK-NO-FPRIV:           %[[VAL_20:.*]] = arith.subi %[[VAL_19]]#1, %[[VAL_18]] : index
+! CHECK-NO-FPRIV:           %[[VAL_21:.*]] = omp.map.bounds lower_bound(%[[VAL_17]] : index) upper_bound(%[[VAL_20]] : index) extent(%[[VAL_19]]#1 : index) stride(%[[VAL_18]] : index) start_idx(%[[VAL_17]] : index) {stride_in_bytes = true}
+! CHECK-NO-FPRIV:           %[[VAL_22:.*]] = fir.box_offset %[[VAL_0]] base_addr : (!fir.ref<!fir.boxchar<1>>) -> !fir.llvm_ptr<!fir.ref<!fir.char<1,?>>>
+! CHECK-NO-FPRIV:           %[[VAL_23:.*]] = omp.map.info var_ptr(%[[VAL_0]] : !fir.ref<!fir.boxchar<1>>, !fir.boxchar<1>) map_clauses(implicit, to) capture(ByRef) var_ptr_ptr(%[[VAL_22]] : !fir.llvm_ptr<!fir.ref<!fir.char<1,?>>>, !fir.char<1,?>) bounds(%14) -> !fir.llvm_ptr<!fir.ref<!fir.char<1,?>>> {name = ""}
+! CHECK-NO-FPRIV:           %[[VAL_24:.*]] = omp.map.info var_ptr(%[[VAL_0]] : !fir.ref<!fir.boxchar<1>>, !fir.boxchar<1>) map_clauses(always, implicit, to) capture(ByRef) members(%[[VAL_23]] : [0] : !fir.llvm_ptr<!fir.ref<!fir.char<1,?>>>) -> !fir.ref<!fir.boxchar<1>> {name = ""}
+! CHECK-NO-FPRIV:           %[[VAL_26:.*]] = omp.map.info var_ptr(%[[VAL_0]] : !fir.ref<!fir.boxchar<1>>, !fir.boxchar<1>) map_clauses(attach, ref_ptr, ref_ptee) capture(ByRef) var_ptr_ptr(%[[VAL_22]] : !fir.llvm_ptr<!fir.ref<!fir.char<1,?>>>, !fir.char<1,?>) bounds(%[[VAL_21]]) -> !fir.ref<!fir.boxchar<1>>
+! CHECK-NO-FPRIV:  omp.target map_entries(%[[VAL_7]] -> %[[VAL_27:.*]], %[[VAL_16]] -> %[[VAL_28:.*]], %[[VAL_24]] -> %[[VAL_29:.*]], %[[VAL_26]] -> %[[VAL_30:.*]], %[[VAL_23]] -> %[[VAL_30:.*]] : !fir.ref<!fir.char<1,4>>, !fir.ref<!fir.char<1,?>>, !fir.ref<!fir.boxchar<1>>, !fir.ref<!fir.boxchar<1>>, !fir.llvm_ptr<!fir.ref<!fir.char<1,?>>>) {
+! CHECK-NO-FPRIV:    %[[VAL_31:.*]] = fir.load %[[VAL_29]] : !fir.ref<!fir.boxchar<1>>
+! CHECK-NO-FPRIV:    %[[VAL_32:.*]]:2 = fir.unboxchar %[[VAL_31]] : (!fir.boxchar<1>) -> (!fir.ref<!fir.char<1,?>>, index)
+! CHECK-NO-FPRIV:    %[[VAL_33:.*]] = arith.constant 4 : index
+! CHECK-NO-FPRIV:    %[[VAL_34:.*]]:2 = hlfir.declare %[[VAL_27]] typeparams %[[VAL_33]] {uniq_name = "_QMmodFroutine_boxcharEb"} : (!fir.ref<!fir.char<1,4>>, index) -> (!fir.ref<!fir.char<1,4>>, !fir.ref<!fir.char<1,4>>)
+! CHECK-NO-FPRIV:    %[[VAL_35:.*]]:2 = hlfir.declare %[[VAL_28]] typeparams %[[VAL_32]]#1 {fortran_attrs = #fir.var_attrs<intent_in, optional>, uniq_name = "_QMmodFroutine_boxcharEa"} : (!fir.ref<!fir.char<1,?>>, index) -> (!fir.boxchar<1>, !fir.ref<!fir.char<1,?>>)
+! CHECK-NO-FPRIV:    hlfir.assign %[[VAL_35]]#0 to %[[VAL_34]]#0 : !fir.boxchar<1>, !fir.ref<!fir.char<1,4>>
+! CHECK-NO-FPRIV:    omp.terminator
+! CHECK-NO-FPRIV:  }
+! CHECK-NO-FPRIV:  return
+! CHECK-NO-FPRIV:}
diff --git a/flang/test/Lower/OpenMP/target-map-complex.f90 b/flang/test/Lower/OpenMP/target-map-complex.f90
index a0a3abf6ef3d2..2325aec79e65b 100644
--- a/flang/test/Lower/OpenMP/target-map-complex.f90
+++ b/flang/test/Lower/OpenMP/target-map-complex.f90
@@ -1,17 +1,21 @@
-!RUN: %flang_fc1 -emit-hlfir -fopenmp %s -o - | FileCheck %s
+!RUN: %flang_fc1 -emit-hlfir -fopenmp -mmlir --enable-delayed-privatization-staging=false %s -o - | FileCheck %s  --check-prefixes=CHECK,CHECK-NO-FPRIV
+!RUN: %flang_fc1 -emit-hlfir -fopenmp -mmlir --enable-delayed-privatization-staging=true %s -o - | FileCheck %s  --check-prefixes=CHECK,CHECK-FPRIV
 
 ! Check that the complex*4 is passed by value. but complex*8 is passed by
 ! reference
 
-!CHECK: omp.private {type = firstprivate} @[[PRIV_64:.*]] : complex<f64> copy {
-!CHECK: omp.private {type = firstprivate} @[[PRIV_32:.*]] : complex<f32> copy {
+!CHECK-FPRIV: omp.private {type = firstprivate} @[[PRIV_64:.*]] : complex<f64> copy {
+!CHECK-FPRIV: omp.private {type = firstprivate} @[[PRIV_32:.*]] : complex<f32> copy {
 
 !CHECK-LABEL: func.func @_QMmPbar()
 !CHECK:  %[[V1:[0-9]+]]:2 = hlfir.declare {{.*}} (!fir.ref<complex<f32>>) -> (!fir.ref<complex<f32>>, !fir.ref<complex<f32>>)
 !CHECK:  %[[V0:[0-9]+]]:2 = hlfir.declare {{.*}} (!fir.ref<complex<f64>>) -> (!fir.ref<complex<f64>>, !fir.ref<complex<f64>>)
-!CHECK:  %[[V2:[0-9]+]] = omp.map.info var_ptr(%[[V1]]#0 : !fir.ref<complex<f32>>, complex<f32>) {{.*}} capture(ByCopy)
-!CHECK:  %[[V3:[0-9]+]] = omp.map.info var_ptr(%[[V0]]#0 : !fir.ref<complex<f64>>, complex<f64>) {{.*}} capture(ByRef)
-!CHECK:  omp.target map_entries(%[[V2]] -> {{.*}}, %[[V3]] -> {{.*}} : !fir.ref<complex<f32>>, !fir.ref<complex<f64>>) private(@[[PRIV_32]] %[[V1]]#0 -> %{{.*}} [map_idx=0], @[[PRIV_64]] %[[V0]]#0 -> %{{.*}} [map_idx=1] : !fir.ref<complex<f32>>, !fir.ref<complex<f64>>) {
+!CHECK-FPRIV:  %[[V2:[0-9]+]] = omp.map.info var_ptr(%[[V1]]#0 : !fir.ref<complex<f32>>, complex<f32>) {{.*}} capture(ByCopy)
+!CHECK-FPRIV:  %[[V3:[0-9]+]] = omp.map.info var_ptr(%[[V0]]#0 : !fir.ref<complex<f64>>, complex<f64>) {{.*}} capture(ByRef)
+!CHECK-FPRIV:  omp.target map_entries(%[[V2]] -> {{.*}}, %[[V3]] -> {{.*}} : !fir.ref<complex<f32>>, !fir.ref<complex<f64>>) private(@[[PRIV_32]] %[[V1]]#0 -> %{{.*}} [map_idx=0], @[[PRIV_64]] %[[V0]]#0 -> %{{.*}} [map_idx=1] : !fir.ref<complex<f32>>, !fir.ref<complex<f64>>) {
+!CHECK-NO-FPRIV:  %[[V2:[0-9]+]] = omp.map.info var_ptr(%[[V1]]#1 : !fir.ref<complex<f32>>, complex<f32>) {{.*}} capture(ByCopy)
+!CHECK-NO-FPRIV:  %[[V3:[0-9]+]] = omp.map.info var_ptr(%[[V0]]#1 : !fir.ref<complex<f64>>, complex<f64>) {{.*}} capture(ByRef)
+!CHECK-NO-PRIV:  omp.target map_entries(%[[V2]] -> {{.*}}, %[[V3]] -> {{.*}} : !fir.ref<complex<f32>>, !fir.ref<complex<f64>>)
 
 module m
   implicit none
diff --git a/flang/test/Lower/OpenMP/target-scope.f90 b/flang/test/Lower/OpenMP/target-scope.f90
index fcc476595a4cd..d0900bd20e81f 100644
--- a/flang/test/Lower/OpenMP/target-scope.f90
+++ b/flang/test/Lower/OpenMP/target-scope.f90
@@ -28,7 +28,7 @@ subroutine target_scope_basic()
 
   !$omp target
     ! CHECK: omp.map.info var_ptr(%{{.*}} : !fir.ref<i32>, i32)
-    ! CHECK: omp.target map_entries(%{{.*}} -> %{{.*}} : !fir.ref<i32>) private({{.*}} -> %[[XARG:.*]] [map_idx=0] : !fir.ref<i32>) {
+    ! CHECK: omp.target map_entries(%{{.*}} -> %[[XARG:.*]] : !fir.ref<i32>) {
     ! CHECK:   hlfir.declare %[[XARG]] {uniq_name = "_QFtarget_scope_basicEx"}
     ! CHECK:   omp.scope {
     !$omp scope
@@ -45,7 +45,7 @@ subroutine target_scope_nowait()
   x = 10
 
   !$omp target
-    ! CHECK: omp.target map_entries(%{{.*}} -> %{{.*}} : !fir.ref<i32>) private({{.*}} -> %[[XARG:.*]] [map_idx=0] : !fir.ref<i32>) {
+    ! CHECK: omp.target map_entries(%{{.*}} -> %[[XARG:.*]] : !fir.ref<i32>) {
     ! CHECK:   hlfir.declare %[[XARG]] {uniq_...
[truncated]

@Jason-Van-Beusekom

Copy link
Copy Markdown
Contributor Author

Issue #203890 appears to be related to this aswell

@github-actions

github-actions Bot commented Jun 17, 2026

Copy link
Copy Markdown

🐧 Linux x64 Test Results

  • 4439 tests passed
  • 206 tests skipped
  • 1 test failed

Failed Tests

(click on a test name to see its output)

Flang

Flang.Semantics/cuf05.cuf
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -fintrinsic-modules-path=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/finclude/flang/x86_64-unknown-linux-gnu -fdebug-dump-symbols /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Semantics/cuf05.cuf 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --dump-input-context=500 /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Semantics/cuf05.cuf
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -fintrinsic-modules-path=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/finclude/flang/x86_64-unknown-linux-gnu -fdebug-dump-symbols /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Semantics/cuf05.cuf
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --dump-input-context=500 /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Semantics/cuf05.cuf
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Semantics/cuf05.cuf:13:10: error: CHECK: expected string not found in input
# |  !CHECK: blockdim: Use from blockdim in __cuda_builtins
# |          ^
# | <stdin>:3840:46: note: scanning from here
# |  Subprogram scope: devsubr size=0 alignment=1 sourceRange=54 bytes
# |                                              ^
# | <stdin>:3843:13: note: possible intended match here
# |  __clz (Function): Use from __clz in cudadevice
# |             ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Semantics/cuf05.cuf
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |          3340:  griddim: Use from griddim in __cuda_builtins 
# |          3341:  threadidx: Use from threadidx in __cuda_builtins 
# |          3342:  warpsize: Use from warpsize in __cuda_builtins 
# |          3343:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: INTEGER(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3344:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: INTEGER(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3345:  Subprogram scope: __stcs_r2x2 size=8 alignment=2 sourceRange=183 bytes 
# |          3346:  __stcs_r2x2 (Subroutine): HostAssoc => __stcs_r2x2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stcs_r2x2 (REAL(2) y,REAL(2) x) cudaSubprogramAttrs: Device 
# |          3347:  blockdim: Use from blockdim in __cuda_builtins 
# |          3348:  blockidx: Use from blockidx in __cuda_builtins 
# |          3349:  griddim: Use from griddim in __cuda_builtins 
# |          3350:  threadidx: Use from threadidx in __cuda_builtins 
# |          3351:  warpsize: Use from warpsize in __cuda_builtins 
# |          3352:  x, INTENT(IN) size=4 offset=4: ObjectEntity dummy type: REAL(2) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3353:  y, INTENT(IN) size=4 offset=0: ObjectEntity dummy type: REAL(2) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3354:  Subprogram scope: __stcs_r4x4 size=32 alignment=4 sourceRange=183 bytes 
# |          3355:  __stcs_r4x4 (Subroutine): HostAssoc => __stcs_r4x4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stcs_r4x4 (REAL(4) y,REAL(4) x) cudaSubprogramAttrs: Device 
# |          3356:  blockdim: Use from blockdim in __cuda_builtins 
# |          3357:  blockidx: Use from blockidx in __cuda_builtins 
# |          3358:  griddim: Use from griddim in __cuda_builtins 
# |          3359:  threadidx: Use from threadidx in __cuda_builtins 
# |          3360:  warpsize: Use from warpsize in __cuda_builtins 
# |          3361:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: REAL(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3362:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: REAL(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3363:  Subprogram scope: __stcs_r8x2 size=32 alignment=8 sourceRange=183 bytes 
# |          3364:  __stcs_r8x2 (Subroutine): HostAssoc => __stcs_r8x2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stcs_r8x2 (REAL(8) y,REAL(8) x) cudaSubprogramAttrs: Device 
# |          3365:  blockdim: Use from blockdim in __cuda_builtins 
# |          3366:  blockidx: Use from blockidx in __cuda_builtins 
# |          3367:  griddim: Use from griddim in __cuda_builtins 
# |          3368:  threadidx: Use from threadidx in __cuda_builtins 
# |          3369:  warpsize: Use from warpsize in __cuda_builtins 
# |          3370:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: REAL(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3371:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: REAL(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3372:  Subprogram scope: __stwt_i4 size=8 alignment=4 sourceRange=157 bytes 
# |          3373:  __stwt_i4 (Subroutine): HostAssoc => __stwt_i4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_i4 (INTEGER(4) y,INTEGER(4) x) cudaSubprogramAttrs: Device 
# |          3374:  blockdim: Use from blockdim in __cuda_builtins 
# |          3375:  blockidx: Use from blockidx in __cuda_builtins 
# |          3376:  griddim: Use from griddim in __cuda_builtins 
# |          3377:  threadidx: Use from threadidx in __cuda_builtins 
# |          3378:  warpsize: Use from warpsize in __cuda_builtins 
# |          3379:  x, VALUE size=4 offset=4: ObjectEntity dummy type: INTEGER(4) {Device} 
# |          3380:  y, INTENT(IN) size=4 offset=0: ObjectEntity dummy type: INTEGER(4) {Device} cudaDataAttr: Device 
# |          3381:  Subprogram scope: __stwt_i8 size=16 alignment=8 sourceRange=157 bytes 
# |          3382:  __stwt_i8 (Subroutine): HostAssoc => __stwt_i8, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_i8 (INTEGER(8) y,INTEGER(8) x) cudaSubprogramAttrs: Device 
# |          3383:  blockdim: Use from blockdim in __cuda_builtins 
# |          3384:  blockidx: Use from blockidx in __cuda_builtins 
# |          3385:  griddim: Use from griddim in __cuda_builtins 
# |          3386:  threadidx: Use from threadidx in __cuda_builtins 
# |          3387:  warpsize: Use from warpsize in __cuda_builtins 
# |          3388:  x, VALUE size=8 offset=8: ObjectEntity dummy type: INTEGER(8) {Device} 
# |          3389:  y, INTENT(IN) size=8 offset=0: ObjectEntity dummy type: INTEGER(8) {Device} cudaDataAttr: Device 
# |          3390:  Subprogram scope: __stwt_cd size=16 alignment=8 sourceRange=194 bytes 
# |          3391:  __stwt_cd (Subroutine): HostAssoc => __stwt_cd, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_cd (TYPE(c_devptr) y,TYPE(c_devptr) x) cudaSubprogramAttrs: Device 
# |          3392:  blockdim: Use from blockdim in __cuda_builtins 
# |          3393:  blockidx: Use from blockidx in __cuda_builtins 
# |          3394:  griddim: Use from griddim in __cuda_builtins 
# |          3395:  threadidx: Use from threadidx in __cuda_builtins 
# |          3396:  warpsize: Use from warpsize in __cuda_builtins 
# |          3397:  x, INTENT(IN) size=8 offset=8: ObjectEntity dummy type: TYPE(c_devptr) {Device} cudaDataAttr: Device 
# |          3398:  y, INTENT(IN) size=8 offset=0: ObjectEntity dummy type: TYPE(c_devptr) {Device} cudaDataAttr: Device 
# |          3399:  Subprogram scope: __stwt_r2 size=4 alignment=2 sourceRange=151 bytes 
# |          3400:  __stwt_r2 (Subroutine): HostAssoc => __stwt_r2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r2 (REAL(2) y,REAL(2) x) cudaSubprogramAttrs: Device 
# |          3401:  blockdim: Use from blockdim in __cuda_builtins 
# |          3402:  blockidx: Use from blockidx in __cuda_builtins 
# |          3403:  griddim: Use from griddim in __cuda_builtins 
# |          3404:  threadidx: Use from threadidx in __cuda_builtins 
# |          3405:  warpsize: Use from warpsize in __cuda_builtins 
# |          3406:  x, VALUE size=2 offset=2: ObjectEntity dummy type: REAL(2) {Device} 
# |          3407:  y, INTENT(IN) size=2 offset=0: ObjectEntity dummy type: REAL(2) {Device} cudaDataAttr: Device 
# |          3408:  Subprogram scope: __stwt_r4 size=8 alignment=4 sourceRange=151 bytes 
# |          3409:  __stwt_r4 (Subroutine): HostAssoc => __stwt_r4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r4 (REAL(4) y,REAL(4) x) cudaSubprogramAttrs: Device 
# |          3410:  blockdim: Use from blockdim in __cuda_builtins 
# |          3411:  blockidx: Use from blockidx in __cuda_builtins 
# |          3412:  griddim: Use from griddim in __cuda_builtins 
# |          3413:  threadidx: Use from threadidx in __cuda_builtins 
# |          3414:  warpsize: Use from warpsize in __cuda_builtins 
# |          3415:  x, VALUE size=4 offset=4: ObjectEntity dummy type: REAL(4) {Device} 
# |          3416:  y, INTENT(IN) size=4 offset=0: ObjectEntity dummy type: REAL(4) {Device} cudaDataAttr: Device 
# |          3417:  Subprogram scope: __stwt_r8 size=16 alignment=8 sourceRange=151 bytes 
# |          3418:  __stwt_r8 (Subroutine): HostAssoc => __stwt_r8, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r8 (REAL(8) y,REAL(8) x) cudaSubprogramAttrs: Device 
# |          3419:  blockdim: Use from blockdim in __cuda_builtins 
# |          3420:  blockidx: Use from blockidx in __cuda_builtins 
# |          3421:  griddim: Use from griddim in __cuda_builtins 
# |          3422:  threadidx: Use from threadidx in __cuda_builtins 
# |          3423:  warpsize: Use from warpsize in __cuda_builtins 
# |          3424:  x, VALUE size=8 offset=8: ObjectEntity dummy type: REAL(8) {Device} 
# |          3425:  y, INTENT(IN) size=8 offset=0: ObjectEntity dummy type: REAL(8) {Device} cudaDataAttr: Device 
# |          3426:  Subprogram scope: __stwt_c4 size=16 alignment=4 sourceRange=170 bytes 
# |          3427:  __stwt_c4 (Subroutine): HostAssoc => __stwt_c4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_c4 (COMPLEX(4) y,COMPLEX(4) x) cudaSubprogramAttrs: Device 
# |          3428:  blockdim: Use from blockdim in __cuda_builtins 
# |          3429:  blockidx: Use from blockidx in __cuda_builtins 
# |          3430:  griddim: Use from griddim in __cuda_builtins 
# |          3431:  threadidx: Use from threadidx in __cuda_builtins 
# |          3432:  warpsize: Use from warpsize in __cuda_builtins 
# |          3433:  x, INTENT(IN) size=8 offset=8: ObjectEntity dummy type: COMPLEX(4) {Rank,Device} cudaDataAttr: Device 
# |          3434:  y, INTENT(IN) size=8 offset=0: ObjectEntity dummy type: COMPLEX(4) {Device} cudaDataAttr: Device 
# |          3435:  Subprogram scope: __stwt_c8 size=32 alignment=8 sourceRange=169 bytes 
# |          3436:  __stwt_c8 (Subroutine): HostAssoc => __stwt_c8, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_c8 (COMPLEX(8) y,COMPLEX(8) x) cudaSubprogramAttrs: Device 
# |          3437:  blockdim: Use from blockdim in __cuda_builtins 
# |          3438:  blockidx: Use from blockidx in __cuda_builtins 
# |          3439:  griddim: Use from griddim in __cuda_builtins 
# |          3440:  threadidx: Use from threadidx in __cuda_builtins 
# |          3441:  warpsize: Use from warpsize in __cuda_builtins 
# |          3442:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: COMPLEX(8) {Device} cudaDataAttr: Device 
# |          3443:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: COMPLEX(8) {Device} cudaDataAttr: Device 
# |          3444:  Subprogram scope: __stwt_i4x4 size=32 alignment=4 sourceRange=189 bytes 
# |          3445:  __stwt_i4x4 (Subroutine): HostAssoc => __stwt_i4x4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_i4x4 (INTEGER(4) y,INTEGER(4) x) cudaSubprogramAttrs: Device 
# |          3446:  blockdim: Use from blockdim in __cuda_builtins 
# |          3447:  blockidx: Use from blockidx in __cuda_builtins 
# |          3448:  griddim: Use from griddim in __cuda_builtins 
# |          3449:  threadidx: Use from threadidx in __cuda_builtins 
# |          3450:  warpsize: Use from warpsize in __cuda_builtins 
# |          3451:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: INTEGER(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3452:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: INTEGER(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3453:  Subprogram scope: __stwt_i8x2 size=32 alignment=8 sourceRange=189 bytes 
# |          3454:  __stwt_i8x2 (Subroutine): HostAssoc => __stwt_i8x2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_i8x2 (INTEGER(8) y,INTEGER(8) x) cudaSubprogramAttrs: Device 
# |          3455:  blockdim: Use from blockdim in __cuda_builtins 
# |          3456:  blockidx: Use from blockidx in __cuda_builtins 
# |          3457:  griddim: Use from griddim in __cuda_builtins 
# |          3458:  threadidx: Use from threadidx in __cuda_builtins 
# |          3459:  warpsize: Use from warpsize in __cuda_builtins 
# |          3460:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: INTEGER(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3461:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: INTEGER(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3462:  Subprogram scope: __stwt_r2x2 size=8 alignment=2 sourceRange=183 bytes 
# |          3463:  __stwt_r2x2 (Subroutine): HostAssoc => __stwt_r2x2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r2x2 (REAL(2) y,REAL(2) x) cudaSubprogramAttrs: Device 
# |          3464:  blockdim: Use from blockdim in __cuda_builtins 
# |          3465:  blockidx: Use from blockidx in __cuda_builtins 
# |          3466:  griddim: Use from griddim in __cuda_builtins 
# |          3467:  threadidx: Use from threadidx in __cuda_builtins 
# |          3468:  warpsize: Use from warpsize in __cuda_builtins 
# |          3469:  x, INTENT(IN) size=4 offset=4: ObjectEntity dummy type: REAL(2) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3470:  y, INTENT(IN) size=4 offset=0: ObjectEntity dummy type: REAL(2) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3471:  Subprogram scope: __stwt_r4x4 size=32 alignment=4 sourceRange=183 bytes 
# |          3472:  __stwt_r4x4 (Subroutine): HostAssoc => __stwt_r4x4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r4x4 (REAL(4) y,REAL(4) x) cudaSubprogramAttrs: Device 
# |          3473:  blockdim: Use from blockdim in __cuda_builtins 
# |          3474:  blockidx: Use from blockidx in __cuda_builtins 
# |          3475:  griddim: Use from griddim in __cuda_builtins 
# |          3476:  threadidx: Use from threadidx in __cuda_builtins 
# |          3477:  warpsize: Use from warpsize in __cuda_builtins 
# |          3478:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: REAL(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3479:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: REAL(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3480:  Subprogram scope: __stwt_r8x2 size=32 alignment=8 sourceRange=183 bytes 
# |          3481:  __stwt_r8x2 (Subroutine): HostAssoc => __stwt_r8x2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r8x2 (REAL(8) y,REAL(8) x) cudaSubprogramAttrs: Device 
# |          3482:  blockdim: Use from blockdim in __cuda_builtins 
# |          3483:  blockidx: Use from blockidx in __cuda_builtins 
# |          3484:  griddim: Use from griddim in __cuda_builtins 
# |          3485:  threadidx: Use from threadidx in __cuda_builtins 
# |          3486:  warpsize: Use from warpsize in __cuda_builtins 
# |          3487:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: REAL(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3488:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: REAL(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3489:  Subprogram scope: on_device size=4 alignment=4 sourceRange=78 bytes 
# |          3490:  blockdim: Use from blockdim in __cuda_builtins 
# |          3491:  blockidx: Use from blockidx in __cuda_builtins 
# |          3492:  griddim: Use from griddim in __cuda_builtins 
# |          3493:  on_device size=4 offset=0: ObjectEntity funcResult type: LOGICAL(4) 
# |          3494:  threadidx: Use from threadidx in __cuda_builtins 
# |          3495:  warpsize: Use from warpsize in __cuda_builtins 
# |          3496:  Subprogram scope: barrier_arrive size=16 alignment=8 sourceRange=114 bytes 
# |          3497:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3498:  barrier_arrive (Function): HostAssoc => barrier_arrive, EXTERNAL (Function): Subprogram isInterface result:INTEGER(8) token (INTEGER(8) barrier) cudaSubprogramAttrs: Device 
# |          3499:  blockdim: Use from blockdim in __cuda_builtins 
# |          3500:  blockidx: Use from blockidx in __cuda_builtins 
# |          3501:  griddim: Use from griddim in __cuda_builtins 
# |          3502:  threadidx: Use from threadidx in __cuda_builtins 
# |          3503:  token size=8 offset=8: ObjectEntity funcResult type: INTEGER(8) 
# |          3504:  warpsize: Use from warpsize in __cuda_builtins 
# |          3505:  Subprogram scope: barrier_arrive_cnt size=24 alignment=8 sourceRange=148 bytes 
# |          3506:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3507:  barrier_arrive_cnt (Function): HostAssoc => barrier_arrive_cnt, EXTERNAL, PUBLIC (Function): Subprogram isInterface result:INTEGER(8) token (INTEGER(8) barrier,INTEGER(4) count) cudaSubprogramAttrs: Device 
# |          3508:  blockdim: Use from blockdim in __cuda_builtins 
# |          3509:  blockidx: Use from blockidx in __cuda_builtins 
# |          3510:  count, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3511:  griddim: Use from griddim in __cuda_builtins 
# |          3512:  threadidx: Use from threadidx in __cuda_builtins 
# |          3513:  token size=8 offset=16: ObjectEntity funcResult type: INTEGER(8) 
# |          3514:  warpsize: Use from warpsize in __cuda_builtins 
# |          3515:  Subprogram scope: barrier_init size=16 alignment=8 sourceRange=112 bytes 
# |          3516:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3517:  barrier_init (Subroutine): HostAssoc => barrier_init, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,INTEGER(4) count) cudaSubprogramAttrs: Device 
# |          3518:  blockdim: Use from blockdim in __cuda_builtins 
# |          3519:  blockidx: Use from blockidx in __cuda_builtins 
# |          3520:  count, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3521:  griddim: Use from griddim in __cuda_builtins 
# |          3522:  threadidx: Use from threadidx in __cuda_builtins 
# |          3523:  warpsize: Use from warpsize in __cuda_builtins 
# |          3524:  Subprogram scope: barrier_try_wait size=24 alignment=8 sourceRange=143 bytes 
# |          3525:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3526:  barrier_try_wait size=4 offset=16: ObjectEntity funcResult type: INTEGER(4) 
# |          3527:  blockdim: Use from blockdim in __cuda_builtins 
# |          3528:  blockidx: Use from blockidx in __cuda_builtins 
# |          3529:  griddim: Use from griddim in __cuda_builtins 
# |          3530:  threadidx: Use from threadidx in __cuda_builtins 
# |          3531:  token, VALUE size=8 offset=8: ObjectEntity dummy type: INTEGER(8) 
# |          3532:  warpsize: Use from warpsize in __cuda_builtins 
# |          3533:  Subprogram scope: barrier_try_wait_sleep size=24 alignment=8 sourceRange=179 bytes 
# |          3534:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3535:  barrier_try_wait_sleep size=4 offset=20: ObjectEntity funcResult type: INTEGER(4) 
# |          3536:  blockdim: Use from blockdim in __cuda_builtins 
# |          3537:  blockidx: Use from blockidx in __cuda_builtins 
# |          3538:  griddim: Use from griddim in __cuda_builtins 
# |          3539:  ns, VALUE size=4 offset=16: ObjectEntity dummy type: INTEGER(4) 
# |          3540:  threadidx: Use from threadidx in __cuda_builtins 
# |          3541:  token, VALUE size=8 offset=8: ObjectEntity dummy type: INTEGER(8) 
# |          3542:  warpsize: Use from warpsize in __cuda_builtins 
# |          3543:  Subprogram scope: fence_proxy_async size=0 alignment=1 sourceRange=53 bytes 
# |          3544:  blockdim: Use from blockdim in __cuda_builtins 
# |          3545:  blockidx: Use from blockidx in __cuda_builtins 
# |          3546:  fence_proxy_async (Subroutine): HostAssoc => fence_proxy_async, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface () cudaSubprogramAttrs: Device 
# |          3547:  griddim: Use from griddim in __cuda_builtins 
# |          3548:  threadidx: Use from threadidx in __cuda_builtins 
# |          3549:  warpsize: Use from warpsize in __cuda_builtins 
# |          3550:  Subprogram scope: tma_bulk_commit_group size=0 alignment=1 sourceRange=57 bytes 
# |          3551:  blockdim: Use from blockdim in __cuda_builtins 
# |          3552:  blockidx: Use from blockidx in __cuda_builtins 
# |          3553:  griddim: Use from griddim in __cuda_builtins 
# |          3554:  threadidx: Use from threadidx in __cuda_builtins 
# |          3555:  tma_bulk_commit_group (Subroutine): HostAssoc => tma_bulk_commit_group, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface () cudaSubprogramAttrs: Device 
# |          3556:  warpsize: Use from warpsize in __cuda_builtins 
# |          3557:  Subprogram scope: tma_bulk_wait_group size=0 alignment=1 sourceRange=55 bytes 
# |          3558:  blockdim: Use from blockdim in __cuda_builtins 
# |          3559:  blockidx: Use from blockidx in __cuda_builtins 
# |          3560:  griddim: Use from griddim in __cuda_builtins 
# |          3561:  threadidx: Use from threadidx in __cuda_builtins 
# |          3562:  tma_bulk_wait_group (Subroutine): HostAssoc => tma_bulk_wait_group, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface () cudaSubprogramAttrs: Device 
# |          3563:  warpsize: Use from warpsize in __cuda_builtins 
# |          3564:  Subprogram scope: tma_bulk_g2s size=16 alignment=8 sourceRange=238 bytes 
# |          3565:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3566:  blockdim: Use from blockdim in __cuda_builtins 
# |          3567:  blockidx: Use from blockidx in __cuda_builtins 
# |          3568:  dst: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Type,Kind,Rank,Device,Managed} cudaDataAttr: Shared 
# |          3569:  griddim: Use from griddim in __cuda_builtins 
# |          3570:  nbytes, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3571:  src: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Type,Kind,Rank,Device,Managed} cudaDataAttr: Device 
# |          3572:  threadidx: Use from threadidx in __cuda_builtins 
# |          3573:  tma_bulk_g2s (Subroutine): HostAssoc => tma_bulk_g2s, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,INTEGER(4) src,INTEGER(4) dst,INTEGER(4) nbytes) cudaSubprogramAttrs: Device 
# |          3574:  warpsize: Use from warpsize in __cuda_builtins 
# |          3575:  Subprogram scope: tma_bulk_ldc4 size=16 alignment=8 sourceRange=231 bytes 
# |          3576:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3577:  blockdim: Use from blockdim in __cuda_builtins 
# |          3578:  blockidx: Use from blockidx in __cuda_builtins 
# |          3579:  dst: ObjectEntity dummy type: COMPLEX(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3580:  griddim: Use from griddim in __cuda_builtins 
# |          3581:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3582:  src: ObjectEntity dummy type: COMPLEX(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3583:  threadidx: Use from threadidx in __cuda_builtins 
# |          3584:  tma_bulk_ldc4 (Subroutine): HostAssoc => tma_bulk_ldc4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,COMPLEX(4) src,COMPLEX(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3585:  warpsize: Use from warpsize in __cuda_builtins 
# |          3586:  Subprogram scope: tma_bulk_ldc8 size=16 alignment=8 sourceRange=231 bytes 
# |          3587:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3588:  blockdim: Use from blockdim in __cuda_builtins 
# |          3589:  blockidx: Use from blockidx in __cuda_builtins 
# |          3590:  dst: ObjectEntity dummy type: COMPLEX(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3591:  griddim: Use from griddim in __cuda_builtins 
# |          3592:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3593:  src: ObjectEntity dummy type: COMPLEX(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3594:  threadidx: Use from threadidx in __cuda_builtins 
# |          3595:  tma_bulk_ldc8 (Subroutine): HostAssoc => tma_bulk_ldc8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,COMPLEX(8) src,COMPLEX(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3596:  warpsize: Use from warpsize in __cuda_builtins 
# |          3597:  Subprogram scope: tma_bulk_ldi4 size=16 alignment=8 sourceRange=231 bytes 
# |          3598:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3599:  blockdim: Use from blockdim in __cuda_builtins 
# |          3600:  blockidx: Use from blockidx in __cuda_builtins 
# |          3601:  dst: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3602:  griddim: Use from griddim in __cuda_builtins 
# |          3603:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3604:  src: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3605:  threadidx: Use from threadidx in __cuda_builtins 
# |          3606:  tma_bulk_ldi4 (Subroutine): HostAssoc => tma_bulk_ldi4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,INTEGER(4) src,INTEGER(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3607:  warpsize: Use from warpsize in __cuda_builtins 
# |          3608:  Subprogram scope: tma_bulk_ldi8 size=16 alignment=8 sourceRange=231 bytes 
# |          3609:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3610:  blockdim: Use from blockdim in __cuda_builtins 
# |          3611:  blockidx: Use from blockidx in __cuda_builtins 
# |          3612:  dst: ObjectEntity dummy type: INTEGER(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3613:  griddim: Use from griddim in __cuda_builtins 
# |          3614:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3615:  src: ObjectEntity dummy type: INTEGER(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3616:  threadidx: Use from threadidx in __cuda_builtins 
# |          3617:  tma_bulk_ldi8 (Subroutine): HostAssoc => tma_bulk_ldi8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,INTEGER(8) src,INTEGER(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3618:  warpsize: Use from warpsize in __cuda_builtins 
# |          3619:  Subprogram scope: tma_bulk_ldr2 size=16 alignment=8 sourceRange=225 bytes 
# |          3620:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3621:  blockdim: Use from blockdim in __cuda_builtins 
# |          3622:  blockidx: Use from blockidx in __cuda_builtins 
# |          3623:  dst: ObjectEntity dummy type: REAL(2) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3624:  griddim: Use from griddim in __cuda_builtins 
# |          3625:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3626:  src: ObjectEntity dummy type: REAL(2) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3627:  threadidx: Use from threadidx in __cuda_builtins 
# |          3628:  tma_bulk_ldr2 (Subroutine): HostAssoc => tma_bulk_ldr2, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,REAL(2) src,REAL(2) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3629:  warpsize: Use from warpsize in __cuda_builtins 
# |          3630:  Subprogram scope: tma_bulk_ldr4 size=16 alignment=8 sourceRange=225 bytes 
# |          3631:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3632:  blockdim: Use from blockdim in __cuda_builtins 
# |          3633:  blockidx: Use from blockidx in __cuda_builtins 
# |          3634:  dst: ObjectEntity dummy type: REAL(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3635:  griddim: Use from griddim in __cuda_builtins 
# |          3636:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3637:  src: ObjectEntity dummy type: REAL(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3638:  threadidx: Use from threadidx in __cuda_builtins 
# |          3639:  tma_bulk_ldr4 (Subroutine): HostAssoc => tma_bulk_ldr4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,REAL(4) src,REAL(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3640:  warpsize: Use from warpsize in __cuda_builtins 
# |          3641:  Subprogram scope: tma_bulk_ldr8 size=16 alignment=8 sourceRange=225 bytes 
# |          3642:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3643:  blockdim: Use from blockdim in __cuda_builtins 
# |          3644:  blockidx: Use from blockidx in __cuda_builtins 
# |          3645:  dst: ObjectEntity dummy type: REAL(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3646:  griddim: Use from griddim in __cuda_builtins 
# |          3647:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3648:  src: ObjectEntity dummy type: REAL(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3649:  threadidx: Use from threadidx in __cuda_builtins 
# |          3650:  tma_bulk_ldr8 (Subroutine): HostAssoc => tma_bulk_ldr8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,REAL(8) src,REAL(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3651:  warpsize: Use from warpsize in __cuda_builtins 
# |          3652:  Subprogram scope: tma_bulk_s2g size=4 alignment=4 sourceRange=203 bytes 
# |          3653:  blockdim: Use from blockdim in __cuda_builtins 
# |          3654:  blockidx: Use from blockidx in __cuda_builtins 
# |          3655:  dst: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Type,Kind,Rank,Device,Managed} cudaDataAttr: Device 
# |          3656:  griddim: Use from griddim in __cuda_builtins 
# |          3657:  nbytes, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3658:  src: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Type,Kind,Rank,Device,Managed} cudaDataAttr: Shared 
# |          3659:  threadidx: Use from threadidx in __cuda_builtins 
# |          3660:  tma_bulk_s2g (Subroutine): HostAssoc => tma_bulk_s2g, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(4) src,INTEGER(4) dst,INTEGER(4) nbytes) cudaSubprogramAttrs: Device 
# |          3661:  warpsize: Use from warpsize in __cuda_builtins 
# |          3662:  Subprogram scope: tma_bulk_store_c4 size=4 alignment=4 sourceRange=200 bytes 
# |          3663:  blockdim: Use from blockdim in __cuda_builtins 
# |          3664:  blockidx: Use from blockidx in __cuda_builtins 
# |          3665:  dst: ObjectEntity dummy type: COMPLEX(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3666:  griddim: Use from griddim in __cuda_builtins 
# |          3667:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3668:  src: ObjectEntity dummy type: COMPLEX(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3669:  threadidx: Use from threadidx in __cuda_builtins 
# |          3670:  tma_bulk_store_c4 (Subroutine): HostAssoc => tma_bulk_store_c4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (COMPLEX(4) src,COMPLEX(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3671:  warpsize: Use from warpsize in __cuda_builtins 
# |          3672:  Subprogram scope: tma_bulk_store_c8 size=4 alignment=4 sourceRange=200 bytes 
# |          3673:  blockdim: Use from blockdim in __cuda_builtins 
# |          3674:  blockidx: Use from blockidx in __cuda_builtins 
# |          3675:  dst: ObjectEntity dummy type: COMPLEX(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3676:  griddim: Use from griddim in __cuda_builtins 
# |          3677:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3678:  src: ObjectEntity dummy type: COMPLEX(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3679:  threadidx: Use from threadidx in __cuda_builtins 
# |          3680:  tma_bulk_store_c8 (Subroutine): HostAssoc => tma_bulk_store_c8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (COMPLEX(8) src,COMPLEX(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3681:  warpsize: Use from warpsize in __cuda_builtins 
# |          3682:  Subprogram scope: tma_bulk_store_i4 size=4 alignment=4 sourceRange=200 bytes 
# |          3683:  blockdim: Use from blockdim in __cuda_builtins 
# |          3684:  blockidx: Use from blockidx in __cuda_builtins 
# |          3685:  dst: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3686:  griddim: Use from griddim in __cuda_builtins 
# |          3687:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3688:  src: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3689:  threadidx: Use from threadidx in __cuda_builtins 
# |          3690:  tma_bulk_store_i4 (Subroutine): HostAssoc => tma_bulk_store_i4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(4) src,INTEGER(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3691:  warpsize: Use from warpsize in __cuda_builtins 
# |          3692:  Subprogram scope: tma_bulk_store_i8 size=4 alignment=4 sourceRange=200 bytes 
# |          3693:  blockdim: Use from blockdim in __cuda_builtins 
# |          3694:  blockidx: Use from blockidx in __cuda_builtins 
# |          3695:  dst: ObjectEntity dummy type: INTEGER(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3696:  griddim: Use from griddim in __cuda_builtins 
# |          3697:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3698:  src: ObjectEntity dummy type: INTEGER(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3699:  threadidx: Use from threadidx in __cuda_builtins 
# |          3700:  tma_bulk_store_i8 (Subroutine): HostAssoc => tma_bulk_store_i8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) src,INTEGER(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3701:  warpsize: Use from warpsize in __cuda_builtins 
# |          3702:  Subprogram scope: tma_bulk_store_r2 size=4 alignment=4 sourceRange=194 bytes 
# |          3703:  blockdim: Use from blockdim in __cuda_builtins 
# |          3704:  blockidx: Use from blockidx in __cuda_builtins 
# |          3705:  dst: ObjectEntity dummy type: REAL(2) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3706:  griddim: Use from griddim in __cuda_builtins 
# |          3707:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3708:  src: ObjectEntity dummy type: REAL(2) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3709:  threadidx: Use from threadidx in __cuda_builtins 
# |          3710:  tma_bulk_store_r2 (Subroutine): HostAssoc => tma_bulk_store_r2, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (REAL(2) src,REAL(2) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3711:  warpsize: Use from warpsize in __cuda_builtins 
# |          3712:  Subprogram scope: tma_bulk_store_r4 size=4 alignment=4 sourceRange=194 bytes 
# |          3713:  blockdim: Use from blockdim in __cuda_builtins 
# |          3714:  blockidx: Use from blockidx in __cuda_builtins 
# |          3715:  dst: ObjectEntity dummy type: REAL(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3716:  griddim: Use from griddim in __cuda_builtins 
# |          3717:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3718:  src: ObjectEntity dummy type: REAL(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3719:  threadidx: Use from threadidx in __cuda_builtins 
# |          3720:  tma_bulk_store_r4 (Subroutine): HostAssoc => tma_bulk_store_r4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (REAL(4) src,REAL(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3721:  warpsize: Use from warpsize in __cuda_builtins 
# |          3722:  Subprogram scope: tma_bulk_store_r8 size=4 alignment=4 sourceRange=194 bytes 
# |          3723:  blockdim: Use from blockdim in __cuda_builtins 
# |          3724:  blockidx: Use from blockidx in __cuda_builtins 
# |          3725:  dst: ObjectEntity dummy type: REAL(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3726:  griddim: Use from griddim in __cuda_builtins 
# |          3727:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3728:  src: ObjectEntity dummy type: REAL(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3729:  threadidx: Use from threadidx in __cuda_builtins 
# |          3730:  tma_bulk_store_r8 (Subroutine): HostAssoc => tma_bulk_store_r8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (REAL(8) src,REAL(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3731:  warpsize: Use from warpsize in __cuda_builtins 
# |          3732:  Subprogram scope: syncthreads size=0 alignment=1 sourceRange=47 bytes 
# |          3733:  blockdim: Use from blockdim in __cuda_builtins 
# |          3734:  blockidx: Use from blockidx in __cuda_builtins 
# |          3735:  griddim: Use from griddim in __cuda_builtins 
# |          3736:  syncthreads (Subroutine): HostAssoc => syncthreads (Subroutine): Subprogram () cudaSubprogramAttrs: Device 
# |          3737:  threadidx: Use from threadidx in __cuda_builtins 
# |          3738:  warpsize: Use from warpsize in __cuda_builtins 
# |          3739:  Module scope: __cuda_device size=0 alignment=1 sourceRange=249 bytes 
# |          3740:  blockdim, PUBLIC: Use from blockdim in __cuda_builtins 
# |          3741:  blockidx, PUBLIC: Use from blockidx in __cuda_builtins 
# |          3742:  griddim, PUBLIC: Use from griddim in __cuda_builtins 
# |          3743:  threadidx, PUBLIC: Use from threadidx in __cuda_builtins 
# |          3744:  warpsize, PARAMETER, PUBLIC: Use from warpsize in __cuda_builtins 
# |          3745:  Module scope: __cuda_builtins size=0 alignment=1 sourceRange=366 bytes 
# |          3746:  blockdim, PUBLIC: Use from __builtin_blockdim in __fortran_builtins 
# |          3747:  blockidx, PUBLIC: Use from __builtin_blockidx in __fortran_builtins 
# |          3748:  griddim, PUBLIC: Use from __builtin_griddim in __fortran_builtins 
# |          3749:  threadidx, PUBLIC: Use from __builtin_threadidx in __fortran_builtins 
# |          3750:  warpsize, PARAMETER, PUBLIC: Use from __builtin_warpsize in __fortran_builtins 
# |          3751:  Module scope: __fortran_type_info sourceRange=3167 bytes 
# |          3752:  __builtin_c_devptr, BIND(C), PRIVATE: Use from __builtin_c_devptr in __fortran_builtins 
# |          3753:  __builtin_c_funptr, BIND(C), PRIVATE: Use from __builtin_c_funptr in __fortran_builtins 
# |          3754:  __builtin_c_ptr, BIND(C), PRIVATE: Use from __builtin_c_ptr in __fortran_builtins 
# |          3755:  allocatable, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:3_4 
# |          3756:  assumedrankfinal, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:8_4 
# |          3757:  automatic, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:4_4 
# |          3758:  binding, PRIVATE: DerivedType components: proc,name 
# |          3759:  categorycharacter, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:3_4 
# |          3760:  categorycomplex, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:2_4 
# |          3761:  categoryderived, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:5_4 
# |          3762:  categoryinteger, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:0_4 
# |          3763:  categorylogical, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:4_4 
# |          3764:  categoryreal, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:1_4 
# |          3765:  component, PRIVATE: DerivedType components: name,genre,category,kind,rank,memoryspace,__padding0,offset,characterlen,derived,lenvalue,bounds,initialization 
# |          3766:  data, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:1_4 
# |          3767:  deferred, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:1_4 
# |          3768:  derivedtype, PRIVATE: DerivedType components: binding,name,sizeinbytes,uninstantiated,kindparameter,lenparameterkind,component,procptr,special,specialbitset,hasparent,noinitializationneeded,nodestructionneeded,nofinalizationneeded,nodefinedassignment,__padding0 
# |          3769:  device, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:1_4 
# |          3770:  elementalassignment, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:2_4 
# |          3771:  elementalfinal, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:7_4 
# |          3772:  explicit, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:2_4 
# |          3773:  host, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:0_4 
# |          3774:  int64, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:8_4 
# |          3775:  lenparameter, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:3_4 
# |          3776:  managed, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:2_4 
# |          3777:  pointer, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:2_4 
# |          3778:  procptrcomponent, PRIVATE: DerivedType components: name,offset,initialization 
# |          3779:  readformatted, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:3_4 
# |          3780:  readunformatted, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:4_4 
# |          3781:  scalarassignment, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:1_4 
# |          3782:  scalarfinal, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:9_4 
# |          3783:  selected_int_kind, INTRINSIC, PRIVATE (Function): ProcEntity 
# |          3784:  specialbinding, BIND(C), PRIVATE: DerivedType components: which,isargdescriptorset,istypebound,specialcaseflag,__padding0,proc 
# |          3785:  unified, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:3_4 
# |          3786:  value, BIND(C), PRIVATE: DerivedType components: genre,__padding0,value 
# |          3787:  writeformatted, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:5_4 
# |          3788:  writeunformatted, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:6_4 
# |          3789:  DerivedType scope: derivedtype size=440 alignment=8 instantiation of derivedtype sourceRange=614 bytes 
# |          3790:  __padding0 size=3 offset=433: ObjectEntity type: INTEGER(1) shape: 1_8:3_8 
# |          3791:  binding, CONTIGUOUS, POINTER size=64 offset=0: ObjectEntity type: TYPE(binding) shape: : 
# |          3792:  component, CONTIGUOUS, POINTER size=64 offset=232: ObjectEntity type: TYPE(component) shape: : 
# |          3793:  hasparent size=1 offset=428: ObjectEntity type: INTEGER(1) 
# |          3794:  kindparameter, CONTIGUOUS, POINTER size=48 offset=136: ObjectEntity type: INTEGER(8) shape: : 
# |          3795:  lenparameterkind, CONTIGUOUS, POINTER size=48 offset=184: ObjectEntity type: INTEGER(1) shape: : 
# |          3796:  name, POINTER size=24 offset=64: ObjectEntity type: CHARACTER(:,1) 
# |          3797:  nodefinedassignment size=1 offset=432: ObjectEntity type: INTEGER(1) 
# |          3798:  nodestructionneeded size=1 offset=430: ObjectEntity type: INTEGER(1) 
# |          3799:  nofinalizationneeded size=1 offset=431: ObjectEntity type: INTEGER(1) 
# |          3800:  noinitializationneeded size=1 offset=429: ObjectEntity type: INTEGER(1) 
# |          3801:  procptr, CONTIGUOUS, POINTER size=64 offset=296: ObjectEntity type: TYPE(procptrcomponent) shape: : 
# |          3802:  sizeinbytes size=8 offset=88: ObjectEntity type: INTEGER(8) 
# |          3803:  special, CONTIGUOUS, POINTER size=64 offset=360: ObjectEntity type: TYPE(specialbinding) shape: : 
# |          3804:  specialbitset size=4 offset=424: ObjectEntity type: INTEGER(4) 
# |          3805:  uninstantiated, POINTER size=40 offset=96: ObjectEntity type: TYPE(derivedtype) 
# |          3806:  DerivedType scope: binding size=32 alignment=8 instantiation of binding sourceRange=68 bytes 
# |          3807:  name, POINTER size=24 offset=8: ObjectEntity type: CHARACTER(:,1) 
# |          3808:  proc size=8 offset=0: ObjectEntity type: TYPE(__builtin_c_funptr) 
# |          3809:  DerivedType scope: value size=16 alignment=8 instantiation of value sourceRange=76 bytes 
# |          3810:  __padding0 size=7 offset=1: ObjectEntity type: INTEGER(1) shape: 1_8:7_8 
# |          3811:  genre size=1 offset=0: ObjectEntity type: INTEGER(1) 
# |          3812:  value size=8 offset=8: ObjectEntity type: INTEGER(8) 
# |          3813:  DerivedType scope: component size=256 alignment=8 instantiation of component sourceRange=372 bytes 
# |          3814:  __padding0 size=3 offset=29: ObjectEntity type: INTEGER(1) shape: 1_8:3_8 
# |          3815:  bounds, CONTIGUOUS, POINTER size=88 offset=160: ObjectEntity type: TYPE(value) shape: :,: 
# |          3816:  category size=1 offset=25: ObjectEntity type: INTEGER(1) 
# |          3817:  characterlen size=16 offset=40: ObjectEntity type: TYPE(value) 
# |          3818:  derived, POINTER size=40 offset=56: ObjectEntity type: TYPE(derivedtype) 
# |          3819:  genre size=1 offset=24: ObjectEntity type: INTEGER(1) 
# |          3820:  initialization size=8 offset=248: ObjectEntity type: TYPE(__builtin_c_ptr) 
# |          3821:  kind size=1 offset=26: ObjectEntity type: INTEGER(1) 
# |          3822:  lenvalue, CONTIGUOUS, POINTER size=64 offset=96: ObjectEntity type: TYPE(value) shape: : 
# |          3823:  memoryspace size=1 offset=28: ObjectEntity type: INTEGER(1) 
# |          3824:  name, POINTER size=24 offset=0: ObjectEntity type: CHARACTER(:,1) 
# |          3825:  offset size=8 offset=32: ObjectEntity type: INTEGER(8) 
# |          3826:  rank size=1 offset=27: ObjectEntity type: INTEGER(1) 
# |          3827:  DerivedType scope: procptrcomponent size=40 alignment=8 instantiation of procptrcomponent sourceRange=97 bytes 
# |          3828:  initialization size=8 offset=32: ObjectEntity type: TYPE(__builtin_c_funptr) 
# |          3829:  name, POINTER size=24 offset=0: ObjectEntity type: CHARACTER(:,1) 
# |          3830:  offset size=8 offset=24: ObjectEntity type: INTEGER(8) 
# |          3831:  DerivedType scope: specialbinding size=16 alignment=8 instantiation of specialbinding sourceRange=172 bytes 
# |          3832:  __padding0 size=4 offset=4: ObjectEntity type: INTEGER(1) shape: 1_8:4_8 
# |          3833:  isargdescriptorset size=1 offset=1: ObjectEntity type: INTEGER(1) 
# |          3834:  istypebound size=1 offset=2: ObjectEntity type: INTEGER(1) 
# |          3835:  proc size=8 offset=8: ObjectEntity type: TYPE(__builtin_c_funptr) 
# |          3836:  specialcaseflag size=1 offset=3: ObjectEntity type: INTEGER(1) 
# |          3837:  which size=1 offset=0: ObjectEntity type: INTEGER(1) 
# |          3838:  Module scope: m size=0 alignment=1 sourceRange=97 bytes 
# |          3839:  devsubr, PUBLIC (Subroutine): Subprogram () cudaSubprogramAttrs: Device 
# |          3840:  Subprogram scope: devsubr size=0 alignment=1 sourceRange=54 bytes 
# | check:13'0                                                  X~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |          3841:  __brev (Function): Use from __brev in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3842:  __brevll (Function): Use from __brevll in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3843:  __clz (Function): Use from __clz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:13'1                 ?                                    possible intended match
# |          3844:  __clzll (Function): Use from __clzll in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3845:  __cosf (Function): Use from __cosf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3846:  __dadd_rd (Function): Use from __dadd_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3847:  __dadd_rn (Function): Use from __dadd_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3848:  __dadd_ru (Function): Use from __dadd_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3849:  __dadd_rz (Function): Use from __dadd_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3850:  __ddiv_rd (Function): Use from __ddiv_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3851:  __ddiv_rn (Function): Use from __ddiv_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3852:  __ddiv_ru (Function): Use from __ddiv_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3853:  __ddiv_rz (Function): Use from __ddiv_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3854:  __dmul_rd (Function): Use from __dmul_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3855:  __dmul_rn (Function): Use from __dmul_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3856:  __dmul_ru (Function): Use from __dmul_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3857:  __dmul_rz (Function): Use from __dmul_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3858:  __double2float_rd (Function): Use from __double2float_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3859:  __double2float_rn (Function): Use from __double2float_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3860:  __double2float_ru (Function): Use from __double2float_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3861:  __double2float_rz (Function): Use from __double2float_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3862:  __double2hiint (Function): Use from __double2hiint in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3863:  __double2int_rd (Function): Use from __double2int_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3864:  __double2int_rn (Function): Use from __double2int_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3865:  __double2int_ru (Function): Use from __double2int_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3866:  __double2int_rz (Function): Use from __double2int_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3867:  __double2ll_rd (Function): Use from __double2ll_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3868:  __double2ll_rn (Function): Use from __double2ll_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3869:  __double2ll_ru (Function): Use from __double2ll_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3870:  __double2ll_rz (Function): Use from __double2ll_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3871:  __double2loint (Function): Use from __double2loint in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3872:  __double2uint_rd (Function): Use from __double2uint_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3873:  __double2uint_rn (Function): Use from __double2uint_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3874:  __double2uint_ru (Function): Use from __double2uint_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3875:  __double2uint_rz (Function): Use from __double2uint_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3876:  __double2ull_rd (Function): Use from __double2ull_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3877:  __double2ull_rn (Function): Use from __double2ull_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3878:  __double2ull_ru (Function): Use from __double2ull_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3879:  __double2ull_rz (Function): Use from __double2ull_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3880:  __double_as_longlong (Function): Use from __double_as_longlong in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3881:  __drcp_rd (Function): Use from __drcp_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3882:  __drcp_rn (Function): Use from __drcp_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3883:  __drcp_ru (Function): Use from __drcp_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3884:  __drcp_rz (Function): Use from __drcp_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3885:  __dsqrt_rd (Function): Use from __dsqrt_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3886:  __dsqrt_rn (Function): Use from __dsqrt_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3887:  __dsqrt_ru (Function): Use from __dsqrt_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3888:  __dsqrt_rz (Function): Use from __dsqrt_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3889:  __exp10f (Function): Use from __exp10f in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3890:  __expf (Function): Use from __expf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3891:  __fadd_rd (Function): Use from __fadd_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3892:  __fadd_rn (Function): Use from __fadd_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3893:  __fadd_ru (Function): Use from __fadd_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3894:  __fadd_rz (Function): Use from __fadd_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3895:  __fdiv_rd (Function): Use from __fdiv_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3896:  __fdiv_rn (Function): Use from __fdiv_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3897:  __fdiv_ru (Function): Use from __fdiv_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3898:  __fdiv_rz (Function): Use from __fdiv_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3899:  __fdividef (Function): Use from __fdividef in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3900:  __ffs (Function): Use from __ffs in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3901:  __ffsll (Function): Use from __ffsll in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3902:  __float2half_rn (Function): Use from __float2half_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3903:  __float2int_rd (Function): Use from __float2int_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3904:  __float2int_rn (Function): Use from __float2int_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3905:  __float2int_ru (Function): Use from __float2int_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3906:  __float2int_rz (Function): Use from __float2int_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3907:  __float2ll_rd (Function): Use from __float2ll_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3908:  __float2ll_rn (Function): Use from __float2ll_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3909:  __float2ll_ru (Function): Use from __float2ll_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3910:  __float2ll_rz (Function): Use from __float2ll_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3911:  __float2uint_rd (Function): Use from __float2uint_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3912:  __float2uint_rn (Function): Use from __float2uint_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3913:  __float2uint_ru (Function): Use from __float2uint_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3914:  __float2uint_rz (Function): Use from __float2uint_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3915:  __float2ull_rd (Function): Use from __float2ull_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3916:  __float2ull_rn (Function): Use from __float2ull_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3917:  __float2ull_ru (Function): Use from __float2ull_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3918:  __float2ull_rz (Function): Use from __float2ull_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3919:  __float_as_int (Function): Use from __float_as_int in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3920:  __fma_rd (Function): Use from __fma_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3921:  __fma_rn (Function): Use from __fma_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3922:  __fma_ru (Function): Use from __fma_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3923:  __fma_rz (Function): Use from __fma_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3924:  __fmaf_rd (Function): Use from __fmaf_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3925:  __fmaf_rn (Function): Use from __fmaf_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3926:  __fmaf_ru (Function): Use from __fmaf_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3927:  __fmaf_rz (Function): Use from __fmaf_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3928:  __fmul_rd (Function): Use from __fmul_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3929:  __fmul_rn (Function): Use from __fmul_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3930:  __fmul_ru (Function): Use from __fmul_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3931:  __fmul_rz (Function): Use from __fmul_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3932:  __frcp_rd (Function): Use from __frcp_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3933:  __frcp_rn (Function): Use from __frcp_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3934:  __frcp_ru (Function): Use from __frcp_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3935:  __frcp_rz (Function): Use from __frcp_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3936:  __fsqrt_rd (Function): Use from __fsqrt_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3937:  __fsqrt_rn (Function): Use from __fsqrt_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3938:  __fsqrt_ru (Function): Use from __fsqrt_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3939:  __fsqrt_rz (Function): Use from __fsqrt_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3940:  __half2float (Function): Use from __half2float in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3941:  __hiloint2double (Function): Use from __hiloint2double in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3942:  __int2double_rn (Function): Use from __int2double_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3943:  __int2float_rd (Function): Use from __int2float_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3944:  __int2float_rn (Function): Use from __int2float_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3945:  __int2float_ru (Function): Use from __int2float_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3946:  __int2float_rz (Function): Use from __int2float_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3947:  __int_as_float (Function): Use from __int_as_float in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3948:  __ldca (Function): Use from __ldca in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3949:  __ldca_c4 (Function): Use from __ldca_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3950:  __ldca_c8 (Function): Use from __ldca_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3951:  __ldca_cd (Function): Use from __ldca_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3952:  __ldca_i4 (Function): Use from __ldca_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3953:  __ldca_i4x4 (Function): Use from __ldca_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3954:  __ldca_i8 (Function): Use from __ldca_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3955:  __ldca_i8x2 (Function): Use from __ldca_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3956:  __ldca_r2 (Function): Use from __ldca_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3957:  __ldca_r2x2 (Function): Use from __ldca_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3958:  __ldca_r4 (Function): Use from __ldca_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3959:  __ldca_r4x4 (Function): Use from __ldca_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3960:  __ldca_r8 (Function): Use from __ldca_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3961:  __ldca_r8x2 (Function): Use from __ldca_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3962:  __ldcg (Function): Use from __ldcg in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3963:  __ldcg_c4 (Function): Use from __ldcg_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3964:  __ldcg_c8 (Function): Use from __ldcg_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3965:  __ldcg_cd (Function): Use from __ldcg_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3966:  __ldcg_i4 (Function): Use from __ldcg_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3967:  __ldcg_i4x4 (Function): Use from __ldcg_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3968:  __ldcg_i8 (Function): Use from __ldcg_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3969:  __ldcg_i8x2 (Function): Use from __ldcg_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3970:  __ldcg_r2 (Function): Use from __ldcg_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3971:  __ldcg_r2x2 (Function): Use from __ldcg_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3972:  __ldcg_r4 (Function): Use from __ldcg_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3973:  __ldcg_r4x4 (Function): Use from __ldcg_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3974:  __ldcg_r8 (Function): Use from __ldcg_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3975:  __ldcg_r8x2 (Function): Use from __ldcg_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3976:  __ldcs (Function): Use from __ldcs in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3977:  __ldcs_c4 (Function): Use from __ldcs_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3978:  __ldcs_c8 (Function): Use from __ldcs_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3979:  __ldcs_cd (Function): Use from __ldcs_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3980:  __ldcs_i4 (Function): Use from __ldcs_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3981:  __ldcs_i4x4 (Function): Use from __ldcs_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3982:  __ldcs_i8 (Function): Use from __ldcs_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3983:  __ldcs_i8x2 (Function): Use from __ldcs_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3984:  __ldcs_r2 (Function): Use from __ldcs_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3985:  __ldcs_r2x2 (Function): Use from __ldcs_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3986:  __ldcs_r4 (Function): Use from __ldcs_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3987:  __ldcs_r4x4 (Function): Use from __ldcs_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3988:  __ldcs_r8 (Function): Use from __ldcs_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3989:  __ldcs_r8x2 (Function): Use from __ldcs_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3990:  __ldcv (Function): Use from __ldcv in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3991:  __ldcv_c4 (Function): Use from __ldcv_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3992:  __ldcv_c8 (Function): Use from __ldcv_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3993:  __ldcv_cd (Function): Use from __ldcv_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3994:  __ldcv_i4 (Function): Use from __ldcv_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3995:  __ldcv_i4x4 (Function): Use from __ldcv_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3996:  __ldcv_i8 (Function): Use from __ldcv_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3997:  __ldcv_i8x2 (Function): Use from __ldcv_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3998:  __ldcv_r2 (Function): Use from __ldcv_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3999:  __ldcv_r2x2 (Function): Use from __ldcv_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4000:  __ldcv_r4 (Function): Use from __ldcv_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4001:  __ldcv_r4x4 (Function): Use from __ldcv_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4002:  __ldcv_r8 (Function): Use from __ldcv_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4003:  __ldcv_r8x2 (Function): Use from __ldcv_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4004:  __ldlu (Function): Use from __ldlu in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4005:  __ldlu_c4 (Function): Use from __ldlu_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4006:  __ldlu_c8 (Function): Use from __ldlu_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4007:  __ldlu_cd (Function): Use from __ldlu_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4008:  __ldlu_i4 (Function): Use from __ldlu_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4009:  __ldlu_i4x4 (Function): Use from __ldlu_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4010:  __ldlu_i8 (Function): Use from __ldlu_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4011:  __ldlu_i8x2 (Function): Use from __ldlu_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4012:  __ldlu_r2 (Function): Use from __ldlu_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4013:  __ldlu_r2x2 (Function): Use from __ldlu_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4014:  __ldlu_r4 (Function): Use from __ldlu_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4015:  __ldlu_r4x4 (Function): Use from __ldlu_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4016:  __ldlu_r8 (Function): Use from __ldlu_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4017:  __ldlu_r8x2 (Function): Use from __ldlu_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4018:  __ll2double_rd (Function): Use from __ll2double_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4019:  __ll2double_rn (Function): Use from __ll2double_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4020:  __ll2double_ru (Function): Use from __ll2double_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4021:  __ll2double_rz (Function): Use from __ll2double_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4022:  __ll2float_rd (Function): Use from __ll2float_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4023:  __ll2float_rn (Function): Use from __ll2float_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4024:  __ll2float_ru (Function): Use from __ll2float_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4025:  __ll2float_rz (Function): Use from __ll2float_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4026:  __log10f (Function): Use from __log10f in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4027:  __log2f (Function): Use from __log2f in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4028:  __logf (Function): Use from __logf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4029:  __longlong_as_double (Function): Use from __longlong_as_double in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4030:  __mul24 (Function): Use from __mul24 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4031:  __mul64hi (Function): Use from __mul64hi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4032:  __mulhi (Function): Use from __mulhi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4033:  __popc (Function): Use from __popc in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4034:  __popcll (Function): Use from __popcll in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4035:  __powf (Function): Use from __powf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4036:  __sad (Function): Use from __sad in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4037:  __saturatef (Function): Use from __saturatef in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4038:  __sincosf (Subroutine): Use from __sincosf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4039:  __sinf (Function): Use from __sinf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4040:  __stcg (Subroutine): Use from __stcg in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4041:  __stcg_c4 (Subroutine): Use from __stcg_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4042:  __stcg_c8 (Subroutine): Use from __stcg_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4043:  __stcg_cd (Subroutine): Use from __stcg_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4044:  __stcg_i4 (Subroutine): Use from __stcg_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4045:  __stcg_i4x4 (Subroutine): Use from __stcg_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4046:  __stcg_i8 (Subroutine): Use from __stcg_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4047:  __stcg_i8x2 (Subroutine): Use from __stcg_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4048:  __stcg_r2 (Subroutine): Use from __stcg_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4049:  __stcg_r2x2 (Subroutine): Use from __stcg_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4050:  __stcg_r4 (Subroutine): Use from __stcg_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4051:  __stcg_r4x4 (Subroutine): Use from __stcg_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4052:  __stcg_r8 (Subroutine): Use from __stcg_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4053:  __stcg_r8x2 (Subroutine): Use from __stcg_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4054:  __stcs (Subroutine): Use from __stcs in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4055:  __stcs_c4 (Subroutine): Use from __stcs_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4056:  __stcs_c8 (Subroutine): Use from __stcs_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4057:  __stcs_cd (Subroutine): Use from __stcs_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4058:  __stcs_i4 (Subroutine): Use from __stcs_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4059:  __stcs_i4x4 (Subroutine): Use from __stcs_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4060:  __stcs_i8 (Subroutine): Use from __stcs_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4061:  __stcs_i8x2 (Subroutine): Use from __stcs_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4062:  __stcs_r2 (Subroutine): Use from __stcs_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4063:  __stcs_r2x2 (Subroutine): Use from __stcs_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4064:  __stcs_r4 (Subroutine): Use from __stcs_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4065:  __stcs_r4x4 (Subroutine): Use from __stcs_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4066:  __stcs_r8 (Subroutine): Use from __stcs_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4067:  __stcs_r8x2 (Subroutine): Use from __stcs_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4068:  __stwb (Subroutine): Use from __stwb in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4069:  __stwb_c4 (Subroutine): Use from __stwb_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4070:  __stwb_c8 (Subroutine): Use from __stwb_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4071:  __stwb_cd (Subroutine): Use from __stwb_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4072:  __stwb_i4 (Subroutine): Use from __stwb_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4073:  __stwb_i4x4 (Subroutine): Use from __stwb_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4074:  __stwb_i8 (Subroutine): Use from __stwb_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4075:  __stwb_i8x2 (Subroutine): Use from __stwb_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4076:  __stwb_r2 (Subroutine): Use from __stwb_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4077:  __stwb_r2x2 (Subroutine): Use from __stwb_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4078:  __stwb_r4 (Subroutine): Use from __stwb_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4079:  __stwb_r4x4 (Subroutine): Use from __stwb_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4080:  __stwb_r8 (Subroutine): Use from __stwb_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4081:  __stwb_r8x2 (Subroutine): Use from __stwb_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4082:  __stwt (Subroutine): Use from __stwt in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4083:  __stwt_c4 (Subroutine): Use from __stwt_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4084:  __stwt_c8 (Subroutine): Use from __stwt_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4085:  __stwt_cd (Subroutine): Use from __stwt_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4086:  __stwt_i4 (Subroutine): Use from __stwt_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4087:  __stwt_i4x4 (Subroutine): Use from __stwt_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4088:  __stwt_i8 (Subroutine): Use from __stwt_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4089:  __stwt_i8x2 (Subroutine): Use from __stwt_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4090:  __stwt_r2 (Subroutine): Use from __stwt_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4091:  __stwt_r2x2 (Subroutine): Use from __stwt_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4092:  __stwt_r4 (Subroutine): Use from __stwt_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4093:  __stwt_r4x4 (Subroutine): Use from __stwt_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4094:  __stwt_r8 (Subroutine): Use from __stwt_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4095:  __stwt_r8x2 (Subroutine): Use from __stwt_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4096:  __tanf (Function): Use from __tanf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4097:  __uint2double_rn (Function): Use from __uint2double_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4098:  __uint2float_rd (Function): Use from __uint2float_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4099:  __uint2float_rn (Function): Use from __uint2float_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4100:  __uint2float_ru (Function): Use from __uint2float_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4101:  __uint2float_rz (Function): Use from __uint2float_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4102:  __ull2double_rd (Function): Use from __ull2double_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4103:  __ull2double_rn (Function): Use from __ull2double_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4104:  __ull2double_ru (Function): Use from __ull2double_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4105:  __ull2double_rz (Function): Use from __ull2double_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4106:  __ull2float_rd (Function): Use from __ull2float_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4107:  __ull2float_rn (Function): Use from __ull2float_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4108:  __ull2float_ru (Function): Use from __ull2float_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4109:  __ull2float_rz (Function): Use from __ull2float_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4110:  __umul24 (Function): Use from __umul24 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4111:  __umul64hi (Function): Use from __umul64hi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4112:  __umulhi (Function): Use from __umulhi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4113:  __usad (Function): Use from __usad in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4114:  all_sync (Function): Use from all_sync in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4115:  any_sync (Function): Use from any_sync in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4116:  atomicadd (Function): Use from atomicadd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4117:  atomicadd_r4x2 (Function): Use from atomicadd_r4x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4118:  atomicadd_r4x4 (Function): Use from atomicadd_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4119:  atomicaddd (Function): Use from atomicaddd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4120:  atomicaddf (Function): Use from atomicaddf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4121:  atomicaddi (Function): Use from atomicaddi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4122:  atomicaddl (Function): Use from atomicaddl in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4123:  atomicaddr2 (Function): Use from atomicaddr2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4124:  atomicaddreal4x2 (Function): Use from atomicaddreal4x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4125:  atomicaddreal4x4 (Function): Use from atomicaddreal4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4126:  atomicaddvector (Function): Use from atomicaddvector in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4127:  atomicaddvector_r2x2 (Function): Use from atomicaddvector_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4128:  atomicaddvector_r4x2 (Function): Use from atomicaddvector_r4x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4129:  atomicand (Function): Use from atomicand in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4130:  atomicandi (Function): Use from atomicandi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4131:  atomiccas (Function): Use from atomiccas in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4132:  atomiccasd (Function): Use from atomiccasd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4133:  atomiccasf (Function): Use from atomiccasf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4134:  atomiccasi (Function): Use from atomiccasi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4135:  atomiccasul (Function): Use from atomiccasul in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4136:  atomicdec (Function): Use from atomicdec in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4137:  atomicdeci (Function): Use from atomicdeci in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4138:  atomicexch (Function): Use from atomicexch in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4139:  atomicexchd (Function): Use from atomicexchd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4140:  atomicexchf (Function): Use from atomicexchf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4141:  atomicexchi (Function): Use from atomicexchi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4142:  atomicexchul (Function): Use from atomicexchul in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4143:  atomicinc (Function): Use from atomicinc in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4144:  atomicinci (Function): Use from atomicinci in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4145:  atomicmax (Function): Use from atomicmax in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4146:  atomicmaxd (Function): Use from atomicmaxd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4147:  atomicmaxf (Function): Use from atomicmaxf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4148:  atomicmaxi (Function): Use from atomicmaxi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4149:  atomicmaxl (Function): Use from atomicmaxl in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4150:  atomicmin (Function): Use from atomicmin in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4151:  atomicmind (Function): Use from atomicmind in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4152:  atomicminf (Function): Use from atomicminf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4153:  atomicmini (Function): Use from atomicmini in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4154:  atomicminl (Function): Use from atomicminl in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4155:  atomicor (Function): Use from atomicor in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4156:  atomicori (Function): Use from atomicori in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4157:  atomicsub (Function): Use from atomicsub in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4158:  atomicsubd (Function): Use from atomicsubd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4159:  atomicsubf (Function): Use from atomicsubf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4160:  atomicsubi (Function): Use from atomicsubi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4161:  atomicsubl (Function): Use from atomicsubl in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4162:  atomicxor (Function): Use from atomicxor in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4163:  atomicxori (Function): Use from atomicxori in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4164:  ballot_sync (Function): Use from ballot_sync in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4165:  barrier_arrive (Function): Use from barrier_arrive in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4166:  barrier_arrive_cnt (Function): Use from barrier_arrive_cnt in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4167:  barrier_init (Subroutine): Use from barrier_init in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4168:  barrier_try_wait (Function): Use from barrier_try_wait in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4169:  barrier_try_wait_sleep (Function): Use from barrier_try_wait_sleep in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4170:  blockdim: Use from blockdim in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4171:  blockidx: Use from blockidx in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4172:  c_devloc (Function): Use from c_devloc in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4173:  c_devptr: Use from c_devptr in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4174:  clock (Function): Use from clock in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4175:  clock64 (Function): Use from clock64 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4176:  cospi (Function): Use from cospi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4177:  cospif (Function): Use from cospif in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4178:  devsubr (Subroutine): HostAssoc => devsubr, PUBLIC (Subroutine): Subprogram () cudaSubprogramAttrs: Device 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4179:  dim3: Use from dim3 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4180:  double_as_longlong (Function): Use from double_as_longlong in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4181:  fence_proxy_async (Subroutine): Use from fence_proxy_async in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4182:  float_as_int (Function): Use from float_as_int in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4183:  globaltimer (Function): Use from globaltimer in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4184:  griddim: Use from griddim in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4185:  int_as_float (Function): Use from int_as_float in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4186:  longlong_as_double (Function): Use from longlong_as_double in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4187:  match_all_sync (Function): Use from match_all_sync in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4188:  match_all_syncjd (Function): Use from match_all_syncjd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4189:  match_all_syncjf (Function): Use from match_all_syncjf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4190:  match_all_syncjj (Function): Use from match_all_syncjj in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4191:  match_all_syncjx (Function): Use from match_all_syncjx in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4192:  match_any_sync (Function): Use from match_any_sync in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4193:  match_any_syncjd (Function): Use from match_any_syncjd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4194:  match_any_syncjf (Function): Use from match_any_syncjf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4195:  match_any_syncjj (Function): Use from match_any_syncjj in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4196:  match_any_syncjx (Function): Use from match_any_syncjx in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4197:  mul64hi (Function): Use from mul64hi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4198:  mulhi (Function): Use from mulhi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4199:  on_device (Function): Use from on_device in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4200:  rsqrt (Function): Use from rsqrt in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4201:  rsqrtf (Function): Use from rsqrtf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4202:  saturate (Function): Use from saturate in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4203:  signbit (Function): Use from signbit in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4204:  signbitf (Function): Use from signbitf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4205:  sincos (Subroutine): Use from sincos in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4206:  sincosf (Subroutine): Use from sincosf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4207:  sincospi (Subroutine): Use from sincospi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4208:  sincospif (Subroutine): Use from sincospif in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4209:  sinpi (Function): Use from sinpi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4210:  sinpif (Function): Use from sinpif in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4211:  syncthreads (Subroutine): Use from syncthreads in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4212:  syncthreads_and (Function): Use from syncthreads_and in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4213:  syncthreads_and_i4 (Function): Use from syncthreads_and_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4214:  syncthreads_and_l4 (Function): Use from syncthreads_and_l4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4215:  syncthreads_count (Function): Use from syncthreads_count in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4216:  syncthreads_count_i4 (Function): Use from syncthreads_count_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4217:  syncthreads_count_l4 (Function): Use from syncthreads_count_l4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4218:  syncthreads_or (Function): Use from syncthreads_or in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4219:  syncthreads_or_i4 (Function): Use from syncthreads_or_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4220:  syncthreads_or_l4 (Function): Use from syncthreads_or_l4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4221:  syncwarp (Subroutine): Use from syncwarp in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4222:  threadfence (Subroutine): Use from threadfence in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4223:  threadfence_block (Subroutine): Use from threadfence_block in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4224:  threadfence_system (Subroutine): Use from threadfence_system in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4225:  threadidx: Use from threadidx in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4226:  tma_bulk_commit_group (Subroutine): Use from tma_bulk_commit_group in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4227:  tma_bulk_g2s (Subroutine): Use from tma_bulk_g2s in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4228:  tma_bulk_ldc4 (Subroutine): Use from tma_bulk_ldc4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4229:  tma_bulk_ldc8 (Subroutine): Use from tma_bulk_ldc8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4230:  tma_bulk_ldi4 (Subroutine): Use from tma_bulk_ldi4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4231:  tma_bulk_ldi8 (Subroutine): Use from tma_bulk_ldi8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4232:  tma_bulk_ldr2 (Subroutine): Use from tma_bulk_ldr2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4233:  tma_bulk_ldr4 (Subroutine): Use from tma_bulk_ldr4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4234:  tma_bulk_ldr8 (Subroutine): Use from tma_bulk_ldr8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4235:  tma_bulk_load (Subroutine): Use from tma_bulk_load in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4236:  tma_bulk_s2g (Subroutine): Use from tma_bulk_s2g in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4237:  tma_bulk_store (Subroutine): Use from tma_bulk_store in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4238:  tma_bulk_store_c4 (Subroutine): Use from tma_bulk_store_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4239:  tma_bulk_store_c8 (Subroutine): Use from tma_bulk_store_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4240:  tma_bulk_store_i4 (Subroutine): Use from tma_bulk_store_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4241:  tma_bulk_store_i8 (Subroutine): Use from tma_bulk_store_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4242:  tma_bulk_store_r2 (Subroutine): Use from tma_bulk_store_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4243:  tma_bulk_store_r4 (Subroutine): Use from tma_bulk_store_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4244:  tma_bulk_store_r8 (Subroutine): Use from tma_bulk_store_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4245:  tma_bulk_wait_group (Subroutine): Use from tma_bulk_wait_group in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4246:  umul64hi (Function): Use from umul64hi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4247:  umulhi (Function): Use from umulhi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4248:  warpsize: Use from warpsize in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the infrastructure label.

@Jason-Van-Beusekom

Jason-Van-Beusekom commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

Previous tests were failing due to unrelated issue, rebased with upstream main and tests are now passing

@bhandarkar-pranav bhandarkar-pranav left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Jason-Van-Beusekom for this PR. LGTM aside from a single question for context.

loc, llvm::omp::Directive::OMPD_target);

// `target private(..)` is only supported in delayed privatization mode.
if (!enableDelayedPrivatization)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just curious, why you have chosen to put this back under this flag?

@Jason-Van-Beusekom Jason-Van-Beusekom Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is the opt out flag, we have:

extern llvm::cl::opt<bool> enableDelayedPrivatization;
extern llvm::cl::opt<bool> enableDelayedPrivatizationStaging;

explicit firstprivate was originally under enableDelayedPrivatizationStaging which is default false, while enableDelayedPrivatization is default true

I know it is a bit out of scope, I can move it to a different PR of desired, but since it is a small change I wanted to avoid another pr for just that.

Without this there would be no way to disable delayed privatization for explicit fristprivate.

@Jason-Van-Beusekom
Jason-Van-Beusekom force-pushed the implicit-firstprivate-revert branch from 5e2178c to 16dab28 Compare June 25, 2026 20:53
@Jason-Van-Beusekom

Copy link
Copy Markdown
Contributor Author

Rebased to address merge conflicts.

@github-actions

Copy link
Copy Markdown

🪟 Windows x64 Test Results

  • 4395 tests passed
  • 250 tests skipped
  • 1 test failed

Failed Tests

(click on a test name to see its output)

Flang

Flang.Semantics/cuf05.cuf
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\flang.exe -fc1 -fintrinsic-modules-path=C:\_work\llvm-project\llvm-project\build\lib\clang\23\finclude\flang\x86_64-pc-windows-msvc -fdebug-dump-symbols C:\_work\llvm-project\llvm-project\flang\test\Semantics\cuf05.cuf 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --dump-input-context=500 C:\_work\llvm-project\llvm-project\flang\test\Semantics\cuf05.cuf
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\flang.exe' -fc1 '-fintrinsic-modules-path=C:\_work\llvm-project\llvm-project\build\lib\clang\23\finclude\flang\x86_64-pc-windows-msvc' -fdebug-dump-symbols 'C:\_work\llvm-project\llvm-project\flang\test\Semantics\cuf05.cuf'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --dump-input-context=500 'C:\_work\llvm-project\llvm-project\flang\test\Semantics\cuf05.cuf'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\flang\test\Semantics\cuf05.cuf:13:10: error: CHECK: expected string not found in input
# |  !CHECK: blockdim: Use from blockdim in __cuda_builtins
# |          ^
# | <stdin>:3840:46: note: scanning from here
# |  Subprogram scope: devsubr size=0 alignment=1 sourceRange=54 bytes
# |                                              ^
# | <stdin>:3843:13: note: possible intended match here
# |  __clz (Function): Use from __clz in cudadevice
# |             ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\flang\test\Semantics\cuf05.cuf
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |          3340:  griddim: Use from griddim in __cuda_builtins 
# |          3341:  threadidx: Use from threadidx in __cuda_builtins 
# |          3342:  warpsize: Use from warpsize in __cuda_builtins 
# |          3343:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: INTEGER(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3344:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: INTEGER(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3345:  Subprogram scope: __stcs_r2x2 size=8 alignment=2 sourceRange=183 bytes 
# |          3346:  __stcs_r2x2 (Subroutine): HostAssoc => __stcs_r2x2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stcs_r2x2 (REAL(2) y,REAL(2) x) cudaSubprogramAttrs: Device 
# |          3347:  blockdim: Use from blockdim in __cuda_builtins 
# |          3348:  blockidx: Use from blockidx in __cuda_builtins 
# |          3349:  griddim: Use from griddim in __cuda_builtins 
# |          3350:  threadidx: Use from threadidx in __cuda_builtins 
# |          3351:  warpsize: Use from warpsize in __cuda_builtins 
# |          3352:  x, INTENT(IN) size=4 offset=4: ObjectEntity dummy type: REAL(2) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3353:  y, INTENT(IN) size=4 offset=0: ObjectEntity dummy type: REAL(2) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3354:  Subprogram scope: __stcs_r4x4 size=32 alignment=4 sourceRange=183 bytes 
# |          3355:  __stcs_r4x4 (Subroutine): HostAssoc => __stcs_r4x4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stcs_r4x4 (REAL(4) y,REAL(4) x) cudaSubprogramAttrs: Device 
# |          3356:  blockdim: Use from blockdim in __cuda_builtins 
# |          3357:  blockidx: Use from blockidx in __cuda_builtins 
# |          3358:  griddim: Use from griddim in __cuda_builtins 
# |          3359:  threadidx: Use from threadidx in __cuda_builtins 
# |          3360:  warpsize: Use from warpsize in __cuda_builtins 
# |          3361:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: REAL(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3362:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: REAL(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3363:  Subprogram scope: __stcs_r8x2 size=32 alignment=8 sourceRange=183 bytes 
# |          3364:  __stcs_r8x2 (Subroutine): HostAssoc => __stcs_r8x2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stcs_r8x2 (REAL(8) y,REAL(8) x) cudaSubprogramAttrs: Device 
# |          3365:  blockdim: Use from blockdim in __cuda_builtins 
# |          3366:  blockidx: Use from blockidx in __cuda_builtins 
# |          3367:  griddim: Use from griddim in __cuda_builtins 
# |          3368:  threadidx: Use from threadidx in __cuda_builtins 
# |          3369:  warpsize: Use from warpsize in __cuda_builtins 
# |          3370:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: REAL(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3371:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: REAL(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3372:  Subprogram scope: __stwt_i4 size=8 alignment=4 sourceRange=157 bytes 
# |          3373:  __stwt_i4 (Subroutine): HostAssoc => __stwt_i4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_i4 (INTEGER(4) y,INTEGER(4) x) cudaSubprogramAttrs: Device 
# |          3374:  blockdim: Use from blockdim in __cuda_builtins 
# |          3375:  blockidx: Use from blockidx in __cuda_builtins 
# |          3376:  griddim: Use from griddim in __cuda_builtins 
# |          3377:  threadidx: Use from threadidx in __cuda_builtins 
# |          3378:  warpsize: Use from warpsize in __cuda_builtins 
# |          3379:  x, VALUE size=4 offset=4: ObjectEntity dummy type: INTEGER(4) {Device} 
# |          3380:  y, INTENT(IN) size=4 offset=0: ObjectEntity dummy type: INTEGER(4) {Device} cudaDataAttr: Device 
# |          3381:  Subprogram scope: __stwt_i8 size=16 alignment=8 sourceRange=157 bytes 
# |          3382:  __stwt_i8 (Subroutine): HostAssoc => __stwt_i8, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_i8 (INTEGER(8) y,INTEGER(8) x) cudaSubprogramAttrs: Device 
# |          3383:  blockdim: Use from blockdim in __cuda_builtins 
# |          3384:  blockidx: Use from blockidx in __cuda_builtins 
# |          3385:  griddim: Use from griddim in __cuda_builtins 
# |          3386:  threadidx: Use from threadidx in __cuda_builtins 
# |          3387:  warpsize: Use from warpsize in __cuda_builtins 
# |          3388:  x, VALUE size=8 offset=8: ObjectEntity dummy type: INTEGER(8) {Device} 
# |          3389:  y, INTENT(IN) size=8 offset=0: ObjectEntity dummy type: INTEGER(8) {Device} cudaDataAttr: Device 
# |          3390:  Subprogram scope: __stwt_cd size=16 alignment=8 sourceRange=194 bytes 
# |          3391:  __stwt_cd (Subroutine): HostAssoc => __stwt_cd, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_cd (TYPE(c_devptr) y,TYPE(c_devptr) x) cudaSubprogramAttrs: Device 
# |          3392:  blockdim: Use from blockdim in __cuda_builtins 
# |          3393:  blockidx: Use from blockidx in __cuda_builtins 
# |          3394:  griddim: Use from griddim in __cuda_builtins 
# |          3395:  threadidx: Use from threadidx in __cuda_builtins 
# |          3396:  warpsize: Use from warpsize in __cuda_builtins 
# |          3397:  x, INTENT(IN) size=8 offset=8: ObjectEntity dummy type: TYPE(c_devptr) {Device} cudaDataAttr: Device 
# |          3398:  y, INTENT(IN) size=8 offset=0: ObjectEntity dummy type: TYPE(c_devptr) {Device} cudaDataAttr: Device 
# |          3399:  Subprogram scope: __stwt_r2 size=4 alignment=2 sourceRange=151 bytes 
# |          3400:  __stwt_r2 (Subroutine): HostAssoc => __stwt_r2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r2 (REAL(2) y,REAL(2) x) cudaSubprogramAttrs: Device 
# |          3401:  blockdim: Use from blockdim in __cuda_builtins 
# |          3402:  blockidx: Use from blockidx in __cuda_builtins 
# |          3403:  griddim: Use from griddim in __cuda_builtins 
# |          3404:  threadidx: Use from threadidx in __cuda_builtins 
# |          3405:  warpsize: Use from warpsize in __cuda_builtins 
# |          3406:  x, VALUE size=2 offset=2: ObjectEntity dummy type: REAL(2) {Device} 
# |          3407:  y, INTENT(IN) size=2 offset=0: ObjectEntity dummy type: REAL(2) {Device} cudaDataAttr: Device 
# |          3408:  Subprogram scope: __stwt_r4 size=8 alignment=4 sourceRange=151 bytes 
# |          3409:  __stwt_r4 (Subroutine): HostAssoc => __stwt_r4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r4 (REAL(4) y,REAL(4) x) cudaSubprogramAttrs: Device 
# |          3410:  blockdim: Use from blockdim in __cuda_builtins 
# |          3411:  blockidx: Use from blockidx in __cuda_builtins 
# |          3412:  griddim: Use from griddim in __cuda_builtins 
# |          3413:  threadidx: Use from threadidx in __cuda_builtins 
# |          3414:  warpsize: Use from warpsize in __cuda_builtins 
# |          3415:  x, VALUE size=4 offset=4: ObjectEntity dummy type: REAL(4) {Device} 
# |          3416:  y, INTENT(IN) size=4 offset=0: ObjectEntity dummy type: REAL(4) {Device} cudaDataAttr: Device 
# |          3417:  Subprogram scope: __stwt_r8 size=16 alignment=8 sourceRange=151 bytes 
# |          3418:  __stwt_r8 (Subroutine): HostAssoc => __stwt_r8, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r8 (REAL(8) y,REAL(8) x) cudaSubprogramAttrs: Device 
# |          3419:  blockdim: Use from blockdim in __cuda_builtins 
# |          3420:  blockidx: Use from blockidx in __cuda_builtins 
# |          3421:  griddim: Use from griddim in __cuda_builtins 
# |          3422:  threadidx: Use from threadidx in __cuda_builtins 
# |          3423:  warpsize: Use from warpsize in __cuda_builtins 
# |          3424:  x, VALUE size=8 offset=8: ObjectEntity dummy type: REAL(8) {Device} 
# |          3425:  y, INTENT(IN) size=8 offset=0: ObjectEntity dummy type: REAL(8) {Device} cudaDataAttr: Device 
# |          3426:  Subprogram scope: __stwt_c4 size=16 alignment=4 sourceRange=170 bytes 
# |          3427:  __stwt_c4 (Subroutine): HostAssoc => __stwt_c4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_c4 (COMPLEX(4) y,COMPLEX(4) x) cudaSubprogramAttrs: Device 
# |          3428:  blockdim: Use from blockdim in __cuda_builtins 
# |          3429:  blockidx: Use from blockidx in __cuda_builtins 
# |          3430:  griddim: Use from griddim in __cuda_builtins 
# |          3431:  threadidx: Use from threadidx in __cuda_builtins 
# |          3432:  warpsize: Use from warpsize in __cuda_builtins 
# |          3433:  x, INTENT(IN) size=8 offset=8: ObjectEntity dummy type: COMPLEX(4) {Rank,Device} cudaDataAttr: Device 
# |          3434:  y, INTENT(IN) size=8 offset=0: ObjectEntity dummy type: COMPLEX(4) {Device} cudaDataAttr: Device 
# |          3435:  Subprogram scope: __stwt_c8 size=32 alignment=8 sourceRange=169 bytes 
# |          3436:  __stwt_c8 (Subroutine): HostAssoc => __stwt_c8, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_c8 (COMPLEX(8) y,COMPLEX(8) x) cudaSubprogramAttrs: Device 
# |          3437:  blockdim: Use from blockdim in __cuda_builtins 
# |          3438:  blockidx: Use from blockidx in __cuda_builtins 
# |          3439:  griddim: Use from griddim in __cuda_builtins 
# |          3440:  threadidx: Use from threadidx in __cuda_builtins 
# |          3441:  warpsize: Use from warpsize in __cuda_builtins 
# |          3442:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: COMPLEX(8) {Device} cudaDataAttr: Device 
# |          3443:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: COMPLEX(8) {Device} cudaDataAttr: Device 
# |          3444:  Subprogram scope: __stwt_i4x4 size=32 alignment=4 sourceRange=189 bytes 
# |          3445:  __stwt_i4x4 (Subroutine): HostAssoc => __stwt_i4x4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_i4x4 (INTEGER(4) y,INTEGER(4) x) cudaSubprogramAttrs: Device 
# |          3446:  blockdim: Use from blockdim in __cuda_builtins 
# |          3447:  blockidx: Use from blockidx in __cuda_builtins 
# |          3448:  griddim: Use from griddim in __cuda_builtins 
# |          3449:  threadidx: Use from threadidx in __cuda_builtins 
# |          3450:  warpsize: Use from warpsize in __cuda_builtins 
# |          3451:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: INTEGER(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3452:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: INTEGER(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3453:  Subprogram scope: __stwt_i8x2 size=32 alignment=8 sourceRange=189 bytes 
# |          3454:  __stwt_i8x2 (Subroutine): HostAssoc => __stwt_i8x2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_i8x2 (INTEGER(8) y,INTEGER(8) x) cudaSubprogramAttrs: Device 
# |          3455:  blockdim: Use from blockdim in __cuda_builtins 
# |          3456:  blockidx: Use from blockidx in __cuda_builtins 
# |          3457:  griddim: Use from griddim in __cuda_builtins 
# |          3458:  threadidx: Use from threadidx in __cuda_builtins 
# |          3459:  warpsize: Use from warpsize in __cuda_builtins 
# |          3460:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: INTEGER(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3461:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: INTEGER(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3462:  Subprogram scope: __stwt_r2x2 size=8 alignment=2 sourceRange=183 bytes 
# |          3463:  __stwt_r2x2 (Subroutine): HostAssoc => __stwt_r2x2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r2x2 (REAL(2) y,REAL(2) x) cudaSubprogramAttrs: Device 
# |          3464:  blockdim: Use from blockdim in __cuda_builtins 
# |          3465:  blockidx: Use from blockidx in __cuda_builtins 
# |          3466:  griddim: Use from griddim in __cuda_builtins 
# |          3467:  threadidx: Use from threadidx in __cuda_builtins 
# |          3468:  warpsize: Use from warpsize in __cuda_builtins 
# |          3469:  x, INTENT(IN) size=4 offset=4: ObjectEntity dummy type: REAL(2) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3470:  y, INTENT(IN) size=4 offset=0: ObjectEntity dummy type: REAL(2) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3471:  Subprogram scope: __stwt_r4x4 size=32 alignment=4 sourceRange=183 bytes 
# |          3472:  __stwt_r4x4 (Subroutine): HostAssoc => __stwt_r4x4, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r4x4 (REAL(4) y,REAL(4) x) cudaSubprogramAttrs: Device 
# |          3473:  blockdim: Use from blockdim in __cuda_builtins 
# |          3474:  blockidx: Use from blockidx in __cuda_builtins 
# |          3475:  griddim: Use from griddim in __cuda_builtins 
# |          3476:  threadidx: Use from threadidx in __cuda_builtins 
# |          3477:  warpsize: Use from warpsize in __cuda_builtins 
# |          3478:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: REAL(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3479:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: REAL(4) shape: 1_8:4_8 {Device} cudaDataAttr: Device 
# |          3480:  Subprogram scope: __stwt_r8x2 size=32 alignment=8 sourceRange=183 bytes 
# |          3481:  __stwt_r8x2 (Subroutine): HostAssoc => __stwt_r8x2, BIND(C), EXTERNAL, PUBLIC, PURE (Subroutine): Subprogram isInterface bindName:__stwt_r8x2 (REAL(8) y,REAL(8) x) cudaSubprogramAttrs: Device 
# |          3482:  blockdim: Use from blockdim in __cuda_builtins 
# |          3483:  blockidx: Use from blockidx in __cuda_builtins 
# |          3484:  griddim: Use from griddim in __cuda_builtins 
# |          3485:  threadidx: Use from threadidx in __cuda_builtins 
# |          3486:  warpsize: Use from warpsize in __cuda_builtins 
# |          3487:  x, INTENT(IN) size=16 offset=16: ObjectEntity dummy type: REAL(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3488:  y, INTENT(IN) size=16 offset=0: ObjectEntity dummy type: REAL(8) shape: 1_8:2_8 {Device} cudaDataAttr: Device 
# |          3489:  Subprogram scope: on_device size=4 alignment=4 sourceRange=78 bytes 
# |          3490:  blockdim: Use from blockdim in __cuda_builtins 
# |          3491:  blockidx: Use from blockidx in __cuda_builtins 
# |          3492:  griddim: Use from griddim in __cuda_builtins 
# |          3493:  on_device size=4 offset=0: ObjectEntity funcResult type: LOGICAL(4) 
# |          3494:  threadidx: Use from threadidx in __cuda_builtins 
# |          3495:  warpsize: Use from warpsize in __cuda_builtins 
# |          3496:  Subprogram scope: barrier_arrive size=16 alignment=8 sourceRange=114 bytes 
# |          3497:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3498:  barrier_arrive (Function): HostAssoc => barrier_arrive, EXTERNAL (Function): Subprogram isInterface result:INTEGER(8) token (INTEGER(8) barrier) cudaSubprogramAttrs: Device 
# |          3499:  blockdim: Use from blockdim in __cuda_builtins 
# |          3500:  blockidx: Use from blockidx in __cuda_builtins 
# |          3501:  griddim: Use from griddim in __cuda_builtins 
# |          3502:  threadidx: Use from threadidx in __cuda_builtins 
# |          3503:  token size=8 offset=8: ObjectEntity funcResult type: INTEGER(8) 
# |          3504:  warpsize: Use from warpsize in __cuda_builtins 
# |          3505:  Subprogram scope: barrier_arrive_cnt size=24 alignment=8 sourceRange=148 bytes 
# |          3506:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3507:  barrier_arrive_cnt (Function): HostAssoc => barrier_arrive_cnt, EXTERNAL, PUBLIC (Function): Subprogram isInterface result:INTEGER(8) token (INTEGER(8) barrier,INTEGER(4) count) cudaSubprogramAttrs: Device 
# |          3508:  blockdim: Use from blockdim in __cuda_builtins 
# |          3509:  blockidx: Use from blockidx in __cuda_builtins 
# |          3510:  count, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3511:  griddim: Use from griddim in __cuda_builtins 
# |          3512:  threadidx: Use from threadidx in __cuda_builtins 
# |          3513:  token size=8 offset=16: ObjectEntity funcResult type: INTEGER(8) 
# |          3514:  warpsize: Use from warpsize in __cuda_builtins 
# |          3515:  Subprogram scope: barrier_init size=16 alignment=8 sourceRange=112 bytes 
# |          3516:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3517:  barrier_init (Subroutine): HostAssoc => barrier_init, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,INTEGER(4) count) cudaSubprogramAttrs: Device 
# |          3518:  blockdim: Use from blockdim in __cuda_builtins 
# |          3519:  blockidx: Use from blockidx in __cuda_builtins 
# |          3520:  count, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3521:  griddim: Use from griddim in __cuda_builtins 
# |          3522:  threadidx: Use from threadidx in __cuda_builtins 
# |          3523:  warpsize: Use from warpsize in __cuda_builtins 
# |          3524:  Subprogram scope: barrier_try_wait size=24 alignment=8 sourceRange=143 bytes 
# |          3525:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3526:  barrier_try_wait size=4 offset=16: ObjectEntity funcResult type: INTEGER(4) 
# |          3527:  blockdim: Use from blockdim in __cuda_builtins 
# |          3528:  blockidx: Use from blockidx in __cuda_builtins 
# |          3529:  griddim: Use from griddim in __cuda_builtins 
# |          3530:  threadidx: Use from threadidx in __cuda_builtins 
# |          3531:  token, VALUE size=8 offset=8: ObjectEntity dummy type: INTEGER(8) 
# |          3532:  warpsize: Use from warpsize in __cuda_builtins 
# |          3533:  Subprogram scope: barrier_try_wait_sleep size=24 alignment=8 sourceRange=179 bytes 
# |          3534:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3535:  barrier_try_wait_sleep size=4 offset=20: ObjectEntity funcResult type: INTEGER(4) 
# |          3536:  blockdim: Use from blockdim in __cuda_builtins 
# |          3537:  blockidx: Use from blockidx in __cuda_builtins 
# |          3538:  griddim: Use from griddim in __cuda_builtins 
# |          3539:  ns, VALUE size=4 offset=16: ObjectEntity dummy type: INTEGER(4) 
# |          3540:  threadidx: Use from threadidx in __cuda_builtins 
# |          3541:  token, VALUE size=8 offset=8: ObjectEntity dummy type: INTEGER(8) 
# |          3542:  warpsize: Use from warpsize in __cuda_builtins 
# |          3543:  Subprogram scope: fence_proxy_async size=0 alignment=1 sourceRange=53 bytes 
# |          3544:  blockdim: Use from blockdim in __cuda_builtins 
# |          3545:  blockidx: Use from blockidx in __cuda_builtins 
# |          3546:  fence_proxy_async (Subroutine): HostAssoc => fence_proxy_async, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface () cudaSubprogramAttrs: Device 
# |          3547:  griddim: Use from griddim in __cuda_builtins 
# |          3548:  threadidx: Use from threadidx in __cuda_builtins 
# |          3549:  warpsize: Use from warpsize in __cuda_builtins 
# |          3550:  Subprogram scope: tma_bulk_commit_group size=0 alignment=1 sourceRange=57 bytes 
# |          3551:  blockdim: Use from blockdim in __cuda_builtins 
# |          3552:  blockidx: Use from blockidx in __cuda_builtins 
# |          3553:  griddim: Use from griddim in __cuda_builtins 
# |          3554:  threadidx: Use from threadidx in __cuda_builtins 
# |          3555:  tma_bulk_commit_group (Subroutine): HostAssoc => tma_bulk_commit_group, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface () cudaSubprogramAttrs: Device 
# |          3556:  warpsize: Use from warpsize in __cuda_builtins 
# |          3557:  Subprogram scope: tma_bulk_wait_group size=0 alignment=1 sourceRange=55 bytes 
# |          3558:  blockdim: Use from blockdim in __cuda_builtins 
# |          3559:  blockidx: Use from blockidx in __cuda_builtins 
# |          3560:  griddim: Use from griddim in __cuda_builtins 
# |          3561:  threadidx: Use from threadidx in __cuda_builtins 
# |          3562:  tma_bulk_wait_group (Subroutine): HostAssoc => tma_bulk_wait_group, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface () cudaSubprogramAttrs: Device 
# |          3563:  warpsize: Use from warpsize in __cuda_builtins 
# |          3564:  Subprogram scope: tma_bulk_g2s size=16 alignment=8 sourceRange=238 bytes 
# |          3565:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3566:  blockdim: Use from blockdim in __cuda_builtins 
# |          3567:  blockidx: Use from blockidx in __cuda_builtins 
# |          3568:  dst: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Type,Kind,Rank,Device,Managed} cudaDataAttr: Shared 
# |          3569:  griddim: Use from griddim in __cuda_builtins 
# |          3570:  nbytes, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3571:  src: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Type,Kind,Rank,Device,Managed} cudaDataAttr: Device 
# |          3572:  threadidx: Use from threadidx in __cuda_builtins 
# |          3573:  tma_bulk_g2s (Subroutine): HostAssoc => tma_bulk_g2s, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,INTEGER(4) src,INTEGER(4) dst,INTEGER(4) nbytes) cudaSubprogramAttrs: Device 
# |          3574:  warpsize: Use from warpsize in __cuda_builtins 
# |          3575:  Subprogram scope: tma_bulk_ldc4 size=16 alignment=8 sourceRange=231 bytes 
# |          3576:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3577:  blockdim: Use from blockdim in __cuda_builtins 
# |          3578:  blockidx: Use from blockidx in __cuda_builtins 
# |          3579:  dst: ObjectEntity dummy type: COMPLEX(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3580:  griddim: Use from griddim in __cuda_builtins 
# |          3581:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3582:  src: ObjectEntity dummy type: COMPLEX(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3583:  threadidx: Use from threadidx in __cuda_builtins 
# |          3584:  tma_bulk_ldc4 (Subroutine): HostAssoc => tma_bulk_ldc4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,COMPLEX(4) src,COMPLEX(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3585:  warpsize: Use from warpsize in __cuda_builtins 
# |          3586:  Subprogram scope: tma_bulk_ldc8 size=16 alignment=8 sourceRange=231 bytes 
# |          3587:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3588:  blockdim: Use from blockdim in __cuda_builtins 
# |          3589:  blockidx: Use from blockidx in __cuda_builtins 
# |          3590:  dst: ObjectEntity dummy type: COMPLEX(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3591:  griddim: Use from griddim in __cuda_builtins 
# |          3592:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3593:  src: ObjectEntity dummy type: COMPLEX(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3594:  threadidx: Use from threadidx in __cuda_builtins 
# |          3595:  tma_bulk_ldc8 (Subroutine): HostAssoc => tma_bulk_ldc8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,COMPLEX(8) src,COMPLEX(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3596:  warpsize: Use from warpsize in __cuda_builtins 
# |          3597:  Subprogram scope: tma_bulk_ldi4 size=16 alignment=8 sourceRange=231 bytes 
# |          3598:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3599:  blockdim: Use from blockdim in __cuda_builtins 
# |          3600:  blockidx: Use from blockidx in __cuda_builtins 
# |          3601:  dst: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3602:  griddim: Use from griddim in __cuda_builtins 
# |          3603:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3604:  src: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3605:  threadidx: Use from threadidx in __cuda_builtins 
# |          3606:  tma_bulk_ldi4 (Subroutine): HostAssoc => tma_bulk_ldi4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,INTEGER(4) src,INTEGER(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3607:  warpsize: Use from warpsize in __cuda_builtins 
# |          3608:  Subprogram scope: tma_bulk_ldi8 size=16 alignment=8 sourceRange=231 bytes 
# |          3609:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3610:  blockdim: Use from blockdim in __cuda_builtins 
# |          3611:  blockidx: Use from blockidx in __cuda_builtins 
# |          3612:  dst: ObjectEntity dummy type: INTEGER(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3613:  griddim: Use from griddim in __cuda_builtins 
# |          3614:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3615:  src: ObjectEntity dummy type: INTEGER(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3616:  threadidx: Use from threadidx in __cuda_builtins 
# |          3617:  tma_bulk_ldi8 (Subroutine): HostAssoc => tma_bulk_ldi8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,INTEGER(8) src,INTEGER(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3618:  warpsize: Use from warpsize in __cuda_builtins 
# |          3619:  Subprogram scope: tma_bulk_ldr2 size=16 alignment=8 sourceRange=225 bytes 
# |          3620:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3621:  blockdim: Use from blockdim in __cuda_builtins 
# |          3622:  blockidx: Use from blockidx in __cuda_builtins 
# |          3623:  dst: ObjectEntity dummy type: REAL(2) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3624:  griddim: Use from griddim in __cuda_builtins 
# |          3625:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3626:  src: ObjectEntity dummy type: REAL(2) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3627:  threadidx: Use from threadidx in __cuda_builtins 
# |          3628:  tma_bulk_ldr2 (Subroutine): HostAssoc => tma_bulk_ldr2, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,REAL(2) src,REAL(2) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3629:  warpsize: Use from warpsize in __cuda_builtins 
# |          3630:  Subprogram scope: tma_bulk_ldr4 size=16 alignment=8 sourceRange=225 bytes 
# |          3631:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3632:  blockdim: Use from blockdim in __cuda_builtins 
# |          3633:  blockidx: Use from blockidx in __cuda_builtins 
# |          3634:  dst: ObjectEntity dummy type: REAL(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3635:  griddim: Use from griddim in __cuda_builtins 
# |          3636:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3637:  src: ObjectEntity dummy type: REAL(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3638:  threadidx: Use from threadidx in __cuda_builtins 
# |          3639:  tma_bulk_ldr4 (Subroutine): HostAssoc => tma_bulk_ldr4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,REAL(4) src,REAL(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3640:  warpsize: Use from warpsize in __cuda_builtins 
# |          3641:  Subprogram scope: tma_bulk_ldr8 size=16 alignment=8 sourceRange=225 bytes 
# |          3642:  barrier size=8 offset=0: ObjectEntity dummy type: INTEGER(8) cudaDataAttr: Shared 
# |          3643:  blockdim: Use from blockdim in __cuda_builtins 
# |          3644:  blockidx: Use from blockidx in __cuda_builtins 
# |          3645:  dst: ObjectEntity dummy type: REAL(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3646:  griddim: Use from griddim in __cuda_builtins 
# |          3647:  nelems, VALUE size=4 offset=8: ObjectEntity dummy type: INTEGER(4) 
# |          3648:  src: ObjectEntity dummy type: REAL(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3649:  threadidx: Use from threadidx in __cuda_builtins 
# |          3650:  tma_bulk_ldr8 (Subroutine): HostAssoc => tma_bulk_ldr8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) barrier,REAL(8) src,REAL(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3651:  warpsize: Use from warpsize in __cuda_builtins 
# |          3652:  Subprogram scope: tma_bulk_s2g size=4 alignment=4 sourceRange=203 bytes 
# |          3653:  blockdim: Use from blockdim in __cuda_builtins 
# |          3654:  blockidx: Use from blockidx in __cuda_builtins 
# |          3655:  dst: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Type,Kind,Rank,Device,Managed} cudaDataAttr: Device 
# |          3656:  griddim: Use from griddim in __cuda_builtins 
# |          3657:  nbytes, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3658:  src: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Type,Kind,Rank,Device,Managed} cudaDataAttr: Shared 
# |          3659:  threadidx: Use from threadidx in __cuda_builtins 
# |          3660:  tma_bulk_s2g (Subroutine): HostAssoc => tma_bulk_s2g, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(4) src,INTEGER(4) dst,INTEGER(4) nbytes) cudaSubprogramAttrs: Device 
# |          3661:  warpsize: Use from warpsize in __cuda_builtins 
# |          3662:  Subprogram scope: tma_bulk_store_c4 size=4 alignment=4 sourceRange=200 bytes 
# |          3663:  blockdim: Use from blockdim in __cuda_builtins 
# |          3664:  blockidx: Use from blockidx in __cuda_builtins 
# |          3665:  dst: ObjectEntity dummy type: COMPLEX(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3666:  griddim: Use from griddim in __cuda_builtins 
# |          3667:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3668:  src: ObjectEntity dummy type: COMPLEX(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3669:  threadidx: Use from threadidx in __cuda_builtins 
# |          3670:  tma_bulk_store_c4 (Subroutine): HostAssoc => tma_bulk_store_c4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (COMPLEX(4) src,COMPLEX(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3671:  warpsize: Use from warpsize in __cuda_builtins 
# |          3672:  Subprogram scope: tma_bulk_store_c8 size=4 alignment=4 sourceRange=200 bytes 
# |          3673:  blockdim: Use from blockdim in __cuda_builtins 
# |          3674:  blockidx: Use from blockidx in __cuda_builtins 
# |          3675:  dst: ObjectEntity dummy type: COMPLEX(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3676:  griddim: Use from griddim in __cuda_builtins 
# |          3677:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3678:  src: ObjectEntity dummy type: COMPLEX(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3679:  threadidx: Use from threadidx in __cuda_builtins 
# |          3680:  tma_bulk_store_c8 (Subroutine): HostAssoc => tma_bulk_store_c8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (COMPLEX(8) src,COMPLEX(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3681:  warpsize: Use from warpsize in __cuda_builtins 
# |          3682:  Subprogram scope: tma_bulk_store_i4 size=4 alignment=4 sourceRange=200 bytes 
# |          3683:  blockdim: Use from blockdim in __cuda_builtins 
# |          3684:  blockidx: Use from blockidx in __cuda_builtins 
# |          3685:  dst: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3686:  griddim: Use from griddim in __cuda_builtins 
# |          3687:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3688:  src: ObjectEntity dummy type: INTEGER(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3689:  threadidx: Use from threadidx in __cuda_builtins 
# |          3690:  tma_bulk_store_i4 (Subroutine): HostAssoc => tma_bulk_store_i4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(4) src,INTEGER(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3691:  warpsize: Use from warpsize in __cuda_builtins 
# |          3692:  Subprogram scope: tma_bulk_store_i8 size=4 alignment=4 sourceRange=200 bytes 
# |          3693:  blockdim: Use from blockdim in __cuda_builtins 
# |          3694:  blockidx: Use from blockidx in __cuda_builtins 
# |          3695:  dst: ObjectEntity dummy type: INTEGER(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3696:  griddim: Use from griddim in __cuda_builtins 
# |          3697:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3698:  src: ObjectEntity dummy type: INTEGER(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3699:  threadidx: Use from threadidx in __cuda_builtins 
# |          3700:  tma_bulk_store_i8 (Subroutine): HostAssoc => tma_bulk_store_i8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (INTEGER(8) src,INTEGER(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3701:  warpsize: Use from warpsize in __cuda_builtins 
# |          3702:  Subprogram scope: tma_bulk_store_r2 size=4 alignment=4 sourceRange=194 bytes 
# |          3703:  blockdim: Use from blockdim in __cuda_builtins 
# |          3704:  blockidx: Use from blockidx in __cuda_builtins 
# |          3705:  dst: ObjectEntity dummy type: REAL(2) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3706:  griddim: Use from griddim in __cuda_builtins 
# |          3707:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3708:  src: ObjectEntity dummy type: REAL(2) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3709:  threadidx: Use from threadidx in __cuda_builtins 
# |          3710:  tma_bulk_store_r2 (Subroutine): HostAssoc => tma_bulk_store_r2, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (REAL(2) src,REAL(2) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3711:  warpsize: Use from warpsize in __cuda_builtins 
# |          3712:  Subprogram scope: tma_bulk_store_r4 size=4 alignment=4 sourceRange=194 bytes 
# |          3713:  blockdim: Use from blockdim in __cuda_builtins 
# |          3714:  blockidx: Use from blockidx in __cuda_builtins 
# |          3715:  dst: ObjectEntity dummy type: REAL(4) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3716:  griddim: Use from griddim in __cuda_builtins 
# |          3717:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3718:  src: ObjectEntity dummy type: REAL(4) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3719:  threadidx: Use from threadidx in __cuda_builtins 
# |          3720:  tma_bulk_store_r4 (Subroutine): HostAssoc => tma_bulk_store_r4, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (REAL(4) src,REAL(4) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3721:  warpsize: Use from warpsize in __cuda_builtins 
# |          3722:  Subprogram scope: tma_bulk_store_r8 size=4 alignment=4 sourceRange=194 bytes 
# |          3723:  blockdim: Use from blockdim in __cuda_builtins 
# |          3724:  blockidx: Use from blockidx in __cuda_builtins 
# |          3725:  dst: ObjectEntity dummy type: REAL(8) shape: 1_8:* {Rank} cudaDataAttr: Device 
# |          3726:  griddim: Use from griddim in __cuda_builtins 
# |          3727:  nelems, VALUE size=4 offset=0: ObjectEntity dummy type: INTEGER(4) 
# |          3728:  src: ObjectEntity dummy type: REAL(8) shape: 1_8:* {Rank} cudaDataAttr: Shared 
# |          3729:  threadidx: Use from threadidx in __cuda_builtins 
# |          3730:  tma_bulk_store_r8 (Subroutine): HostAssoc => tma_bulk_store_r8, EXTERNAL, PUBLIC (Subroutine): Subprogram isInterface (REAL(8) src,REAL(8) dst,INTEGER(4) nelems) cudaSubprogramAttrs: Device 
# |          3731:  warpsize: Use from warpsize in __cuda_builtins 
# |          3732:  Subprogram scope: syncthreads size=0 alignment=1 sourceRange=47 bytes 
# |          3733:  blockdim: Use from blockdim in __cuda_builtins 
# |          3734:  blockidx: Use from blockidx in __cuda_builtins 
# |          3735:  griddim: Use from griddim in __cuda_builtins 
# |          3736:  syncthreads (Subroutine): HostAssoc => syncthreads (Subroutine): Subprogram () cudaSubprogramAttrs: Device 
# |          3737:  threadidx: Use from threadidx in __cuda_builtins 
# |          3738:  warpsize: Use from warpsize in __cuda_builtins 
# |          3739:  Module scope: __cuda_device size=0 alignment=1 sourceRange=249 bytes 
# |          3740:  blockdim, PUBLIC: Use from blockdim in __cuda_builtins 
# |          3741:  blockidx, PUBLIC: Use from blockidx in __cuda_builtins 
# |          3742:  griddim, PUBLIC: Use from griddim in __cuda_builtins 
# |          3743:  threadidx, PUBLIC: Use from threadidx in __cuda_builtins 
# |          3744:  warpsize, PARAMETER, PUBLIC: Use from warpsize in __cuda_builtins 
# |          3745:  Module scope: __cuda_builtins size=0 alignment=1 sourceRange=366 bytes 
# |          3746:  blockdim, PUBLIC: Use from __builtin_blockdim in __fortran_builtins 
# |          3747:  blockidx, PUBLIC: Use from __builtin_blockidx in __fortran_builtins 
# |          3748:  griddim, PUBLIC: Use from __builtin_griddim in __fortran_builtins 
# |          3749:  threadidx, PUBLIC: Use from __builtin_threadidx in __fortran_builtins 
# |          3750:  warpsize, PARAMETER, PUBLIC: Use from __builtin_warpsize in __fortran_builtins 
# |          3751:  Module scope: __fortran_type_info sourceRange=3167 bytes 
# |          3752:  __builtin_c_devptr, BIND(C), PRIVATE: Use from __builtin_c_devptr in __fortran_builtins 
# |          3753:  __builtin_c_funptr, BIND(C), PRIVATE: Use from __builtin_c_funptr in __fortran_builtins 
# |          3754:  __builtin_c_ptr, BIND(C), PRIVATE: Use from __builtin_c_ptr in __fortran_builtins 
# |          3755:  allocatable, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:3_4 
# |          3756:  assumedrankfinal, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:8_4 
# |          3757:  automatic, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:4_4 
# |          3758:  binding, PRIVATE: DerivedType components: proc,name 
# |          3759:  categorycharacter, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:3_4 
# |          3760:  categorycomplex, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:2_4 
# |          3761:  categoryderived, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:5_4 
# |          3762:  categoryinteger, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:0_4 
# |          3763:  categorylogical, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:4_4 
# |          3764:  categoryreal, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:1_4 
# |          3765:  component, PRIVATE: DerivedType components: name,genre,category,kind,rank,memoryspace,__padding0,offset,characterlen,derived,lenvalue,bounds,initialization 
# |          3766:  data, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:1_4 
# |          3767:  deferred, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:1_4 
# |          3768:  derivedtype, PRIVATE: DerivedType components: binding,name,sizeinbytes,uninstantiated,kindparameter,lenparameterkind,component,procptr,special,specialbitset,hasparent,noinitializationneeded,nodestructionneeded,nofinalizationneeded,nodefinedassignment,__padding0 
# |          3769:  device, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:1_4 
# |          3770:  elementalassignment, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:2_4 
# |          3771:  elementalfinal, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:7_4 
# |          3772:  explicit, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:2_4 
# |          3773:  host, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:0_4 
# |          3774:  int64, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:8_4 
# |          3775:  lenparameter, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:3_4 
# |          3776:  managed, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:2_4 
# |          3777:  pointer, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:2_4 
# |          3778:  procptrcomponent, PRIVATE: DerivedType components: name,offset,initialization 
# |          3779:  readformatted, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:3_4 
# |          3780:  readunformatted, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:4_4 
# |          3781:  scalarassignment, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:1_4 
# |          3782:  scalarfinal, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:9_4 
# |          3783:  selected_int_kind, INTRINSIC, PRIVATE (Function): ProcEntity 
# |          3784:  specialbinding, BIND(C), PRIVATE: DerivedType components: which,isargdescriptorset,istypebound,specialcaseflag,__padding0,proc 
# |          3785:  unified, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:3_4 
# |          3786:  value, BIND(C), PRIVATE: DerivedType components: genre,__padding0,value 
# |          3787:  writeformatted, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:5_4 
# |          3788:  writeunformatted, PARAMETER, PRIVATE: ObjectEntity type: INTEGER(4) init:6_4 
# |          3789:  DerivedType scope: derivedtype size=440 alignment=8 instantiation of derivedtype sourceRange=614 bytes 
# |          3790:  __padding0 size=3 offset=433: ObjectEntity type: INTEGER(1) shape: 1_8:3_8 
# |          3791:  binding, CONTIGUOUS, POINTER size=64 offset=0: ObjectEntity type: TYPE(binding) shape: : 
# |          3792:  component, CONTIGUOUS, POINTER size=64 offset=232: ObjectEntity type: TYPE(component) shape: : 
# |          3793:  hasparent size=1 offset=428: ObjectEntity type: INTEGER(1) 
# |          3794:  kindparameter, CONTIGUOUS, POINTER size=48 offset=136: ObjectEntity type: INTEGER(8) shape: : 
# |          3795:  lenparameterkind, CONTIGUOUS, POINTER size=48 offset=184: ObjectEntity type: INTEGER(1) shape: : 
# |          3796:  name, POINTER size=24 offset=64: ObjectEntity type: CHARACTER(:,1) 
# |          3797:  nodefinedassignment size=1 offset=432: ObjectEntity type: INTEGER(1) 
# |          3798:  nodestructionneeded size=1 offset=430: ObjectEntity type: INTEGER(1) 
# |          3799:  nofinalizationneeded size=1 offset=431: ObjectEntity type: INTEGER(1) 
# |          3800:  noinitializationneeded size=1 offset=429: ObjectEntity type: INTEGER(1) 
# |          3801:  procptr, CONTIGUOUS, POINTER size=64 offset=296: ObjectEntity type: TYPE(procptrcomponent) shape: : 
# |          3802:  sizeinbytes size=8 offset=88: ObjectEntity type: INTEGER(8) 
# |          3803:  special, CONTIGUOUS, POINTER size=64 offset=360: ObjectEntity type: TYPE(specialbinding) shape: : 
# |          3804:  specialbitset size=4 offset=424: ObjectEntity type: INTEGER(4) 
# |          3805:  uninstantiated, POINTER size=40 offset=96: ObjectEntity type: TYPE(derivedtype) 
# |          3806:  DerivedType scope: binding size=32 alignment=8 instantiation of binding sourceRange=68 bytes 
# |          3807:  name, POINTER size=24 offset=8: ObjectEntity type: CHARACTER(:,1) 
# |          3808:  proc size=8 offset=0: ObjectEntity type: TYPE(__builtin_c_funptr) 
# |          3809:  DerivedType scope: value size=16 alignment=8 instantiation of value sourceRange=76 bytes 
# |          3810:  __padding0 size=7 offset=1: ObjectEntity type: INTEGER(1) shape: 1_8:7_8 
# |          3811:  genre size=1 offset=0: ObjectEntity type: INTEGER(1) 
# |          3812:  value size=8 offset=8: ObjectEntity type: INTEGER(8) 
# |          3813:  DerivedType scope: component size=256 alignment=8 instantiation of component sourceRange=372 bytes 
# |          3814:  __padding0 size=3 offset=29: ObjectEntity type: INTEGER(1) shape: 1_8:3_8 
# |          3815:  bounds, CONTIGUOUS, POINTER size=88 offset=160: ObjectEntity type: TYPE(value) shape: :,: 
# |          3816:  category size=1 offset=25: ObjectEntity type: INTEGER(1) 
# |          3817:  characterlen size=16 offset=40: ObjectEntity type: TYPE(value) 
# |          3818:  derived, POINTER size=40 offset=56: ObjectEntity type: TYPE(derivedtype) 
# |          3819:  genre size=1 offset=24: ObjectEntity type: INTEGER(1) 
# |          3820:  initialization size=8 offset=248: ObjectEntity type: TYPE(__builtin_c_ptr) 
# |          3821:  kind size=1 offset=26: ObjectEntity type: INTEGER(1) 
# |          3822:  lenvalue, CONTIGUOUS, POINTER size=64 offset=96: ObjectEntity type: TYPE(value) shape: : 
# |          3823:  memoryspace size=1 offset=28: ObjectEntity type: INTEGER(1) 
# |          3824:  name, POINTER size=24 offset=0: ObjectEntity type: CHARACTER(:,1) 
# |          3825:  offset size=8 offset=32: ObjectEntity type: INTEGER(8) 
# |          3826:  rank size=1 offset=27: ObjectEntity type: INTEGER(1) 
# |          3827:  DerivedType scope: procptrcomponent size=40 alignment=8 instantiation of procptrcomponent sourceRange=97 bytes 
# |          3828:  initialization size=8 offset=32: ObjectEntity type: TYPE(__builtin_c_funptr) 
# |          3829:  name, POINTER size=24 offset=0: ObjectEntity type: CHARACTER(:,1) 
# |          3830:  offset size=8 offset=24: ObjectEntity type: INTEGER(8) 
# |          3831:  DerivedType scope: specialbinding size=16 alignment=8 instantiation of specialbinding sourceRange=172 bytes 
# |          3832:  __padding0 size=4 offset=4: ObjectEntity type: INTEGER(1) shape: 1_8:4_8 
# |          3833:  isargdescriptorset size=1 offset=1: ObjectEntity type: INTEGER(1) 
# |          3834:  istypebound size=1 offset=2: ObjectEntity type: INTEGER(1) 
# |          3835:  proc size=8 offset=8: ObjectEntity type: TYPE(__builtin_c_funptr) 
# |          3836:  specialcaseflag size=1 offset=3: ObjectEntity type: INTEGER(1) 
# |          3837:  which size=1 offset=0: ObjectEntity type: INTEGER(1) 
# |          3838:  Module scope: m size=0 alignment=1 sourceRange=97 bytes 
# |          3839:  devsubr, PUBLIC (Subroutine): Subprogram () cudaSubprogramAttrs: Device 
# |          3840:  Subprogram scope: devsubr size=0 alignment=1 sourceRange=54 bytes 
# | check:13'0                                                  X~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |          3841:  __brev (Function): Use from __brev in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3842:  __brevll (Function): Use from __brevll in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3843:  __clz (Function): Use from __clz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:13'1                 ?                                    possible intended match
# |          3844:  __clzll (Function): Use from __clzll in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3845:  __cosf (Function): Use from __cosf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3846:  __dadd_rd (Function): Use from __dadd_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3847:  __dadd_rn (Function): Use from __dadd_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3848:  __dadd_ru (Function): Use from __dadd_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3849:  __dadd_rz (Function): Use from __dadd_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3850:  __ddiv_rd (Function): Use from __ddiv_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3851:  __ddiv_rn (Function): Use from __ddiv_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3852:  __ddiv_ru (Function): Use from __ddiv_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3853:  __ddiv_rz (Function): Use from __ddiv_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3854:  __dmul_rd (Function): Use from __dmul_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3855:  __dmul_rn (Function): Use from __dmul_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3856:  __dmul_ru (Function): Use from __dmul_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3857:  __dmul_rz (Function): Use from __dmul_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3858:  __double2float_rd (Function): Use from __double2float_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3859:  __double2float_rn (Function): Use from __double2float_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3860:  __double2float_ru (Function): Use from __double2float_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3861:  __double2float_rz (Function): Use from __double2float_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3862:  __double2hiint (Function): Use from __double2hiint in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3863:  __double2int_rd (Function): Use from __double2int_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3864:  __double2int_rn (Function): Use from __double2int_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3865:  __double2int_ru (Function): Use from __double2int_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3866:  __double2int_rz (Function): Use from __double2int_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3867:  __double2ll_rd (Function): Use from __double2ll_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3868:  __double2ll_rn (Function): Use from __double2ll_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3869:  __double2ll_ru (Function): Use from __double2ll_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3870:  __double2ll_rz (Function): Use from __double2ll_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3871:  __double2loint (Function): Use from __double2loint in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3872:  __double2uint_rd (Function): Use from __double2uint_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3873:  __double2uint_rn (Function): Use from __double2uint_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3874:  __double2uint_ru (Function): Use from __double2uint_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3875:  __double2uint_rz (Function): Use from __double2uint_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3876:  __double2ull_rd (Function): Use from __double2ull_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3877:  __double2ull_rn (Function): Use from __double2ull_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3878:  __double2ull_ru (Function): Use from __double2ull_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3879:  __double2ull_rz (Function): Use from __double2ull_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3880:  __double_as_longlong (Function): Use from __double_as_longlong in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3881:  __drcp_rd (Function): Use from __drcp_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3882:  __drcp_rn (Function): Use from __drcp_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3883:  __drcp_ru (Function): Use from __drcp_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3884:  __drcp_rz (Function): Use from __drcp_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3885:  __dsqrt_rd (Function): Use from __dsqrt_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3886:  __dsqrt_rn (Function): Use from __dsqrt_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3887:  __dsqrt_ru (Function): Use from __dsqrt_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3888:  __dsqrt_rz (Function): Use from __dsqrt_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3889:  __exp10f (Function): Use from __exp10f in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3890:  __expf (Function): Use from __expf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3891:  __fadd_rd (Function): Use from __fadd_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3892:  __fadd_rn (Function): Use from __fadd_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3893:  __fadd_ru (Function): Use from __fadd_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3894:  __fadd_rz (Function): Use from __fadd_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3895:  __fdiv_rd (Function): Use from __fdiv_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3896:  __fdiv_rn (Function): Use from __fdiv_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3897:  __fdiv_ru (Function): Use from __fdiv_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3898:  __fdiv_rz (Function): Use from __fdiv_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3899:  __fdividef (Function): Use from __fdividef in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3900:  __ffs (Function): Use from __ffs in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3901:  __ffsll (Function): Use from __ffsll in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3902:  __float2half_rn (Function): Use from __float2half_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3903:  __float2int_rd (Function): Use from __float2int_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3904:  __float2int_rn (Function): Use from __float2int_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3905:  __float2int_ru (Function): Use from __float2int_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3906:  __float2int_rz (Function): Use from __float2int_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3907:  __float2ll_rd (Function): Use from __float2ll_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3908:  __float2ll_rn (Function): Use from __float2ll_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3909:  __float2ll_ru (Function): Use from __float2ll_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3910:  __float2ll_rz (Function): Use from __float2ll_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3911:  __float2uint_rd (Function): Use from __float2uint_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3912:  __float2uint_rn (Function): Use from __float2uint_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3913:  __float2uint_ru (Function): Use from __float2uint_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3914:  __float2uint_rz (Function): Use from __float2uint_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3915:  __float2ull_rd (Function): Use from __float2ull_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3916:  __float2ull_rn (Function): Use from __float2ull_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3917:  __float2ull_ru (Function): Use from __float2ull_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3918:  __float2ull_rz (Function): Use from __float2ull_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3919:  __float_as_int (Function): Use from __float_as_int in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3920:  __fma_rd (Function): Use from __fma_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3921:  __fma_rn (Function): Use from __fma_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3922:  __fma_ru (Function): Use from __fma_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3923:  __fma_rz (Function): Use from __fma_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3924:  __fmaf_rd (Function): Use from __fmaf_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3925:  __fmaf_rn (Function): Use from __fmaf_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3926:  __fmaf_ru (Function): Use from __fmaf_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3927:  __fmaf_rz (Function): Use from __fmaf_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3928:  __fmul_rd (Function): Use from __fmul_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3929:  __fmul_rn (Function): Use from __fmul_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3930:  __fmul_ru (Function): Use from __fmul_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3931:  __fmul_rz (Function): Use from __fmul_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3932:  __frcp_rd (Function): Use from __frcp_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3933:  __frcp_rn (Function): Use from __frcp_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3934:  __frcp_ru (Function): Use from __frcp_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3935:  __frcp_rz (Function): Use from __frcp_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3936:  __fsqrt_rd (Function): Use from __fsqrt_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3937:  __fsqrt_rn (Function): Use from __fsqrt_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3938:  __fsqrt_ru (Function): Use from __fsqrt_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3939:  __fsqrt_rz (Function): Use from __fsqrt_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3940:  __half2float (Function): Use from __half2float in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3941:  __hiloint2double (Function): Use from __hiloint2double in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3942:  __int2double_rn (Function): Use from __int2double_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3943:  __int2float_rd (Function): Use from __int2float_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3944:  __int2float_rn (Function): Use from __int2float_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3945:  __int2float_ru (Function): Use from __int2float_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3946:  __int2float_rz (Function): Use from __int2float_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3947:  __int_as_float (Function): Use from __int_as_float in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3948:  __ldca (Function): Use from __ldca in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3949:  __ldca_c4 (Function): Use from __ldca_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3950:  __ldca_c8 (Function): Use from __ldca_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3951:  __ldca_cd (Function): Use from __ldca_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3952:  __ldca_i4 (Function): Use from __ldca_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3953:  __ldca_i4x4 (Function): Use from __ldca_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3954:  __ldca_i8 (Function): Use from __ldca_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3955:  __ldca_i8x2 (Function): Use from __ldca_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3956:  __ldca_r2 (Function): Use from __ldca_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3957:  __ldca_r2x2 (Function): Use from __ldca_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3958:  __ldca_r4 (Function): Use from __ldca_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3959:  __ldca_r4x4 (Function): Use from __ldca_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3960:  __ldca_r8 (Function): Use from __ldca_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3961:  __ldca_r8x2 (Function): Use from __ldca_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3962:  __ldcg (Function): Use from __ldcg in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3963:  __ldcg_c4 (Function): Use from __ldcg_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3964:  __ldcg_c8 (Function): Use from __ldcg_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3965:  __ldcg_cd (Function): Use from __ldcg_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3966:  __ldcg_i4 (Function): Use from __ldcg_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3967:  __ldcg_i4x4 (Function): Use from __ldcg_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3968:  __ldcg_i8 (Function): Use from __ldcg_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3969:  __ldcg_i8x2 (Function): Use from __ldcg_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3970:  __ldcg_r2 (Function): Use from __ldcg_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3971:  __ldcg_r2x2 (Function): Use from __ldcg_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3972:  __ldcg_r4 (Function): Use from __ldcg_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3973:  __ldcg_r4x4 (Function): Use from __ldcg_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3974:  __ldcg_r8 (Function): Use from __ldcg_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3975:  __ldcg_r8x2 (Function): Use from __ldcg_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3976:  __ldcs (Function): Use from __ldcs in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3977:  __ldcs_c4 (Function): Use from __ldcs_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3978:  __ldcs_c8 (Function): Use from __ldcs_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3979:  __ldcs_cd (Function): Use from __ldcs_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3980:  __ldcs_i4 (Function): Use from __ldcs_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3981:  __ldcs_i4x4 (Function): Use from __ldcs_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3982:  __ldcs_i8 (Function): Use from __ldcs_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3983:  __ldcs_i8x2 (Function): Use from __ldcs_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3984:  __ldcs_r2 (Function): Use from __ldcs_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3985:  __ldcs_r2x2 (Function): Use from __ldcs_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3986:  __ldcs_r4 (Function): Use from __ldcs_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3987:  __ldcs_r4x4 (Function): Use from __ldcs_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3988:  __ldcs_r8 (Function): Use from __ldcs_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3989:  __ldcs_r8x2 (Function): Use from __ldcs_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3990:  __ldcv (Function): Use from __ldcv in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3991:  __ldcv_c4 (Function): Use from __ldcv_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3992:  __ldcv_c8 (Function): Use from __ldcv_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3993:  __ldcv_cd (Function): Use from __ldcv_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3994:  __ldcv_i4 (Function): Use from __ldcv_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3995:  __ldcv_i4x4 (Function): Use from __ldcv_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3996:  __ldcv_i8 (Function): Use from __ldcv_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3997:  __ldcv_i8x2 (Function): Use from __ldcv_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3998:  __ldcv_r2 (Function): Use from __ldcv_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          3999:  __ldcv_r2x2 (Function): Use from __ldcv_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4000:  __ldcv_r4 (Function): Use from __ldcv_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4001:  __ldcv_r4x4 (Function): Use from __ldcv_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4002:  __ldcv_r8 (Function): Use from __ldcv_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4003:  __ldcv_r8x2 (Function): Use from __ldcv_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4004:  __ldlu (Function): Use from __ldlu in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4005:  __ldlu_c4 (Function): Use from __ldlu_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4006:  __ldlu_c8 (Function): Use from __ldlu_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4007:  __ldlu_cd (Function): Use from __ldlu_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4008:  __ldlu_i4 (Function): Use from __ldlu_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4009:  __ldlu_i4x4 (Function): Use from __ldlu_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4010:  __ldlu_i8 (Function): Use from __ldlu_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4011:  __ldlu_i8x2 (Function): Use from __ldlu_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4012:  __ldlu_r2 (Function): Use from __ldlu_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4013:  __ldlu_r2x2 (Function): Use from __ldlu_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4014:  __ldlu_r4 (Function): Use from __ldlu_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4015:  __ldlu_r4x4 (Function): Use from __ldlu_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4016:  __ldlu_r8 (Function): Use from __ldlu_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4017:  __ldlu_r8x2 (Function): Use from __ldlu_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4018:  __ll2double_rd (Function): Use from __ll2double_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4019:  __ll2double_rn (Function): Use from __ll2double_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4020:  __ll2double_ru (Function): Use from __ll2double_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4021:  __ll2double_rz (Function): Use from __ll2double_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4022:  __ll2float_rd (Function): Use from __ll2float_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4023:  __ll2float_rn (Function): Use from __ll2float_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4024:  __ll2float_ru (Function): Use from __ll2float_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4025:  __ll2float_rz (Function): Use from __ll2float_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4026:  __log10f (Function): Use from __log10f in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4027:  __log2f (Function): Use from __log2f in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4028:  __logf (Function): Use from __logf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4029:  __longlong_as_double (Function): Use from __longlong_as_double in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4030:  __mul24 (Function): Use from __mul24 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4031:  __mul64hi (Function): Use from __mul64hi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4032:  __mulhi (Function): Use from __mulhi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4033:  __popc (Function): Use from __popc in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4034:  __popcll (Function): Use from __popcll in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4035:  __powf (Function): Use from __powf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4036:  __sad (Function): Use from __sad in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4037:  __saturatef (Function): Use from __saturatef in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4038:  __sincosf (Subroutine): Use from __sincosf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4039:  __sinf (Function): Use from __sinf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4040:  __stcg (Subroutine): Use from __stcg in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4041:  __stcg_c4 (Subroutine): Use from __stcg_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4042:  __stcg_c8 (Subroutine): Use from __stcg_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4043:  __stcg_cd (Subroutine): Use from __stcg_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4044:  __stcg_i4 (Subroutine): Use from __stcg_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4045:  __stcg_i4x4 (Subroutine): Use from __stcg_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4046:  __stcg_i8 (Subroutine): Use from __stcg_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4047:  __stcg_i8x2 (Subroutine): Use from __stcg_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4048:  __stcg_r2 (Subroutine): Use from __stcg_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4049:  __stcg_r2x2 (Subroutine): Use from __stcg_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4050:  __stcg_r4 (Subroutine): Use from __stcg_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4051:  __stcg_r4x4 (Subroutine): Use from __stcg_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4052:  __stcg_r8 (Subroutine): Use from __stcg_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4053:  __stcg_r8x2 (Subroutine): Use from __stcg_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4054:  __stcs (Subroutine): Use from __stcs in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4055:  __stcs_c4 (Subroutine): Use from __stcs_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4056:  __stcs_c8 (Subroutine): Use from __stcs_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4057:  __stcs_cd (Subroutine): Use from __stcs_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4058:  __stcs_i4 (Subroutine): Use from __stcs_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4059:  __stcs_i4x4 (Subroutine): Use from __stcs_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4060:  __stcs_i8 (Subroutine): Use from __stcs_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4061:  __stcs_i8x2 (Subroutine): Use from __stcs_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4062:  __stcs_r2 (Subroutine): Use from __stcs_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4063:  __stcs_r2x2 (Subroutine): Use from __stcs_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4064:  __stcs_r4 (Subroutine): Use from __stcs_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4065:  __stcs_r4x4 (Subroutine): Use from __stcs_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4066:  __stcs_r8 (Subroutine): Use from __stcs_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4067:  __stcs_r8x2 (Subroutine): Use from __stcs_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4068:  __stwb (Subroutine): Use from __stwb in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4069:  __stwb_c4 (Subroutine): Use from __stwb_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4070:  __stwb_c8 (Subroutine): Use from __stwb_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4071:  __stwb_cd (Subroutine): Use from __stwb_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4072:  __stwb_i4 (Subroutine): Use from __stwb_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4073:  __stwb_i4x4 (Subroutine): Use from __stwb_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4074:  __stwb_i8 (Subroutine): Use from __stwb_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4075:  __stwb_i8x2 (Subroutine): Use from __stwb_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4076:  __stwb_r2 (Subroutine): Use from __stwb_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4077:  __stwb_r2x2 (Subroutine): Use from __stwb_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4078:  __stwb_r4 (Subroutine): Use from __stwb_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4079:  __stwb_r4x4 (Subroutine): Use from __stwb_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4080:  __stwb_r8 (Subroutine): Use from __stwb_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4081:  __stwb_r8x2 (Subroutine): Use from __stwb_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4082:  __stwt (Subroutine): Use from __stwt in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4083:  __stwt_c4 (Subroutine): Use from __stwt_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4084:  __stwt_c8 (Subroutine): Use from __stwt_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4085:  __stwt_cd (Subroutine): Use from __stwt_cd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4086:  __stwt_i4 (Subroutine): Use from __stwt_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4087:  __stwt_i4x4 (Subroutine): Use from __stwt_i4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4088:  __stwt_i8 (Subroutine): Use from __stwt_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4089:  __stwt_i8x2 (Subroutine): Use from __stwt_i8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4090:  __stwt_r2 (Subroutine): Use from __stwt_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4091:  __stwt_r2x2 (Subroutine): Use from __stwt_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4092:  __stwt_r4 (Subroutine): Use from __stwt_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4093:  __stwt_r4x4 (Subroutine): Use from __stwt_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4094:  __stwt_r8 (Subroutine): Use from __stwt_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4095:  __stwt_r8x2 (Subroutine): Use from __stwt_r8x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4096:  __tanf (Function): Use from __tanf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4097:  __uint2double_rn (Function): Use from __uint2double_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4098:  __uint2float_rd (Function): Use from __uint2float_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4099:  __uint2float_rn (Function): Use from __uint2float_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4100:  __uint2float_ru (Function): Use from __uint2float_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4101:  __uint2float_rz (Function): Use from __uint2float_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4102:  __ull2double_rd (Function): Use from __ull2double_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4103:  __ull2double_rn (Function): Use from __ull2double_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4104:  __ull2double_ru (Function): Use from __ull2double_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4105:  __ull2double_rz (Function): Use from __ull2double_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4106:  __ull2float_rd (Function): Use from __ull2float_rd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4107:  __ull2float_rn (Function): Use from __ull2float_rn in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4108:  __ull2float_ru (Function): Use from __ull2float_ru in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4109:  __ull2float_rz (Function): Use from __ull2float_rz in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4110:  __umul24 (Function): Use from __umul24 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4111:  __umul64hi (Function): Use from __umul64hi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4112:  __umulhi (Function): Use from __umulhi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4113:  __usad (Function): Use from __usad in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4114:  all_sync (Function): Use from all_sync in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4115:  any_sync (Function): Use from any_sync in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4116:  atomicadd (Function): Use from atomicadd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4117:  atomicadd_r4x2 (Function): Use from atomicadd_r4x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4118:  atomicadd_r4x4 (Function): Use from atomicadd_r4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4119:  atomicaddd (Function): Use from atomicaddd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4120:  atomicaddf (Function): Use from atomicaddf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4121:  atomicaddi (Function): Use from atomicaddi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4122:  atomicaddl (Function): Use from atomicaddl in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4123:  atomicaddr2 (Function): Use from atomicaddr2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4124:  atomicaddreal4x2 (Function): Use from atomicaddreal4x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4125:  atomicaddreal4x4 (Function): Use from atomicaddreal4x4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4126:  atomicaddvector (Function): Use from atomicaddvector in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4127:  atomicaddvector_r2x2 (Function): Use from atomicaddvector_r2x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4128:  atomicaddvector_r4x2 (Function): Use from atomicaddvector_r4x2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4129:  atomicand (Function): Use from atomicand in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4130:  atomicandi (Function): Use from atomicandi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4131:  atomiccas (Function): Use from atomiccas in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4132:  atomiccasd (Function): Use from atomiccasd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4133:  atomiccasf (Function): Use from atomiccasf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4134:  atomiccasi (Function): Use from atomiccasi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4135:  atomiccasul (Function): Use from atomiccasul in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4136:  atomicdec (Function): Use from atomicdec in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4137:  atomicdeci (Function): Use from atomicdeci in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4138:  atomicexch (Function): Use from atomicexch in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4139:  atomicexchd (Function): Use from atomicexchd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4140:  atomicexchf (Function): Use from atomicexchf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4141:  atomicexchi (Function): Use from atomicexchi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4142:  atomicexchul (Function): Use from atomicexchul in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4143:  atomicinc (Function): Use from atomicinc in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4144:  atomicinci (Function): Use from atomicinci in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4145:  atomicmax (Function): Use from atomicmax in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4146:  atomicmaxd (Function): Use from atomicmaxd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4147:  atomicmaxf (Function): Use from atomicmaxf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4148:  atomicmaxi (Function): Use from atomicmaxi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4149:  atomicmaxl (Function): Use from atomicmaxl in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4150:  atomicmin (Function): Use from atomicmin in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4151:  atomicmind (Function): Use from atomicmind in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4152:  atomicminf (Function): Use from atomicminf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4153:  atomicmini (Function): Use from atomicmini in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4154:  atomicminl (Function): Use from atomicminl in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4155:  atomicor (Function): Use from atomicor in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4156:  atomicori (Function): Use from atomicori in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4157:  atomicsub (Function): Use from atomicsub in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4158:  atomicsubd (Function): Use from atomicsubd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4159:  atomicsubf (Function): Use from atomicsubf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4160:  atomicsubi (Function): Use from atomicsubi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4161:  atomicsubl (Function): Use from atomicsubl in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4162:  atomicxor (Function): Use from atomicxor in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4163:  atomicxori (Function): Use from atomicxori in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4164:  ballot_sync (Function): Use from ballot_sync in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4165:  barrier_arrive (Function): Use from barrier_arrive in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4166:  barrier_arrive_cnt (Function): Use from barrier_arrive_cnt in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4167:  barrier_init (Subroutine): Use from barrier_init in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4168:  barrier_try_wait (Function): Use from barrier_try_wait in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4169:  barrier_try_wait_sleep (Function): Use from barrier_try_wait_sleep in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4170:  blockdim: Use from blockdim in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4171:  blockidx: Use from blockidx in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4172:  c_devloc (Function): Use from c_devloc in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4173:  c_devptr: Use from c_devptr in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4174:  clock (Function): Use from clock in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4175:  clock64 (Function): Use from clock64 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4176:  cospi (Function): Use from cospi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4177:  cospif (Function): Use from cospif in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4178:  devsubr (Subroutine): HostAssoc => devsubr, PUBLIC (Subroutine): Subprogram () cudaSubprogramAttrs: Device 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4179:  dim3: Use from dim3 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4180:  double_as_longlong (Function): Use from double_as_longlong in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4181:  fence_proxy_async (Subroutine): Use from fence_proxy_async in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4182:  float_as_int (Function): Use from float_as_int in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4183:  globaltimer (Function): Use from globaltimer in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4184:  griddim: Use from griddim in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4185:  int_as_float (Function): Use from int_as_float in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4186:  longlong_as_double (Function): Use from longlong_as_double in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4187:  match_all_sync (Function): Use from match_all_sync in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4188:  match_all_syncjd (Function): Use from match_all_syncjd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4189:  match_all_syncjf (Function): Use from match_all_syncjf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4190:  match_all_syncjj (Function): Use from match_all_syncjj in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4191:  match_all_syncjx (Function): Use from match_all_syncjx in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4192:  match_any_sync (Function): Use from match_any_sync in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4193:  match_any_syncjd (Function): Use from match_any_syncjd in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4194:  match_any_syncjf (Function): Use from match_any_syncjf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4195:  match_any_syncjj (Function): Use from match_any_syncjj in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4196:  match_any_syncjx (Function): Use from match_any_syncjx in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4197:  mul64hi (Function): Use from mul64hi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4198:  mulhi (Function): Use from mulhi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4199:  on_device (Function): Use from on_device in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4200:  rsqrt (Function): Use from rsqrt in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4201:  rsqrtf (Function): Use from rsqrtf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4202:  saturate (Function): Use from saturate in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4203:  signbit (Function): Use from signbit in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4204:  signbitf (Function): Use from signbitf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4205:  sincos (Subroutine): Use from sincos in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4206:  sincosf (Subroutine): Use from sincosf in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4207:  sincospi (Subroutine): Use from sincospi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4208:  sincospif (Subroutine): Use from sincospif in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4209:  sinpi (Function): Use from sinpi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4210:  sinpif (Function): Use from sinpif in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4211:  syncthreads (Subroutine): Use from syncthreads in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4212:  syncthreads_and (Function): Use from syncthreads_and in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4213:  syncthreads_and_i4 (Function): Use from syncthreads_and_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4214:  syncthreads_and_l4 (Function): Use from syncthreads_and_l4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4215:  syncthreads_count (Function): Use from syncthreads_count in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4216:  syncthreads_count_i4 (Function): Use from syncthreads_count_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4217:  syncthreads_count_l4 (Function): Use from syncthreads_count_l4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4218:  syncthreads_or (Function): Use from syncthreads_or in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4219:  syncthreads_or_i4 (Function): Use from syncthreads_or_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4220:  syncthreads_or_l4 (Function): Use from syncthreads_or_l4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4221:  syncwarp (Subroutine): Use from syncwarp in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4222:  threadfence (Subroutine): Use from threadfence in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4223:  threadfence_block (Subroutine): Use from threadfence_block in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4224:  threadfence_system (Subroutine): Use from threadfence_system in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4225:  threadidx: Use from threadidx in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4226:  tma_bulk_commit_group (Subroutine): Use from tma_bulk_commit_group in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4227:  tma_bulk_g2s (Subroutine): Use from tma_bulk_g2s in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4228:  tma_bulk_ldc4 (Subroutine): Use from tma_bulk_ldc4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4229:  tma_bulk_ldc8 (Subroutine): Use from tma_bulk_ldc8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4230:  tma_bulk_ldi4 (Subroutine): Use from tma_bulk_ldi4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4231:  tma_bulk_ldi8 (Subroutine): Use from tma_bulk_ldi8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4232:  tma_bulk_ldr2 (Subroutine): Use from tma_bulk_ldr2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4233:  tma_bulk_ldr4 (Subroutine): Use from tma_bulk_ldr4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4234:  tma_bulk_ldr8 (Subroutine): Use from tma_bulk_ldr8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4235:  tma_bulk_load (Subroutine): Use from tma_bulk_load in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4236:  tma_bulk_s2g (Subroutine): Use from tma_bulk_s2g in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4237:  tma_bulk_store (Subroutine): Use from tma_bulk_store in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4238:  tma_bulk_store_c4 (Subroutine): Use from tma_bulk_store_c4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4239:  tma_bulk_store_c8 (Subroutine): Use from tma_bulk_store_c8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4240:  tma_bulk_store_i4 (Subroutine): Use from tma_bulk_store_i4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4241:  tma_bulk_store_i8 (Subroutine): Use from tma_bulk_store_i8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4242:  tma_bulk_store_r2 (Subroutine): Use from tma_bulk_store_r2 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4243:  tma_bulk_store_r4 (Subroutine): Use from tma_bulk_store_r4 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4244:  tma_bulk_store_r8 (Subroutine): Use from tma_bulk_store_r8 in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4245:  tma_bulk_wait_group (Subroutine): Use from tma_bulk_wait_group in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4246:  umul64hi (Function): Use from umul64hi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4247:  umulhi (Function): Use from umulhi in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          4248:  warpsize: Use from warpsize in cudadevice 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the infrastructure label.

@Jason-Van-Beusekom

Copy link
Copy Markdown
Contributor Author

test failures are unrelated to this PR

@Jonathan03ant

Copy link
Copy Markdown
Contributor

@Jason-Van-Beusekom
is this issue related to #203890??

@Jason-Van-Beusekom

Copy link
Copy Markdown
Contributor Author

@Jason-Van-Beusekom is this issue related to #203890??

Yes, however this fix does not address the core problem, it just guards it behind the delayed privatization staging flag.

@Jason-Van-Beusekom
Jason-Van-Beusekom enabled auto-merge (squash) June 26, 2026 20:02
@Jason-Van-Beusekom
Jason-Van-Beusekom merged commit ab71a85 into llvm:main Jun 26, 2026
8 of 11 checks passed
LouisLu060211 pushed a commit to LouisLu060211/llvm-project that referenced this pull request Jun 30, 2026
llvm#204466)

…t firstprivate

In e57ebfd the flag
enableDelayedPrivatizationStaging was removed, enabling 
Delayed Privatization for firstprivate on OpenMP target regions, 
this resulted in regressions for implicit firstprivate tests:

This commit readds enableDelayedPrivatizationStaging flag for the implicit
case and also guards the explicit change via
`enableDelayedPrivatization` instead of enableDelayedPrivatizationStaging.
maarcosrmz pushed a commit to maarcosrmz/llvm-project that referenced this pull request Jul 1, 2026
llvm#204466)

…t firstprivate

In e57ebfd the flag
enableDelayedPrivatizationStaging was removed, enabling 
Delayed Privatization for firstprivate on OpenMP target regions, 
this resulted in regressions for implicit firstprivate tests:

This commit readds enableDelayedPrivatizationStaging flag for the implicit
case and also guards the explicit change via
`enableDelayedPrivatization` instead of enableDelayedPrivatizationStaging.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

flang:fir-hlfir flang:openmp flang:semantics flang Flang issues not falling into any other category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants