brintos

brintos / llvm-project-archived public Read only

0
0
Text · 963 B · 4704407 Raw
35 lines · plain
1! This test checks correct lowering when OpenACC routine directive is placed2! before implicit none.3 4! RUN: bbc -fopenacc -emit-hlfir %s -o - | FileCheck %s5 6module dummy_mod7contains8 9  subroutine sub1(i)10    !$acc routine seq11    integer :: i12  end subroutine13end module14 15program test_acc_routine16  use dummy_mod17 18  !$acc routine(sub2) seq19 20  implicit none21 22  integer :: i23 24contains25  subroutine sub2()26  end subroutine27 28end program29 30! CHECK: acc.routine @acc_routine_1 func(@_QFPsub2) seq31! CHECK: acc.routine @acc_routine_0 func(@_QMdummy_modPsub1) seq32! CHECK: func.func @_QMdummy_modPsub1(%arg0: !fir.ref<i32> {fir.bindc_name = "i"}) attributes {acc.routine_info = #acc.routine_info<[@acc_routine_0]>}33! CHECK: func.func @_QQmain() attributes {fir.bindc_name = "TEST_ACC_ROUTINE"}34! CHECK: func.func private @_QFPsub2() attributes {acc.routine_info = #acc.routine_info<[@acc_routine_1]>, fir.host_symbol = @_QQmain, llvm.linkage = #llvm.linkage<internal>}35