brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · b249a53 Raw
40 lines · plain
1! This test checks lowering of OpenACC set directive.2 3! RUN: bbc -fopenacc -emit-hlfir %s -o - | FileCheck %s --check-prefixes=CHECK,HLFIR4 5program test_acc_set6  logical :: l7 8!$acc set default_async(1)9 10!$acc set default_async(1) if(l)11 12!$acc set device_num(0)13 14!$acc set device_type(*)15 16!$acc set device_type(multicore)17 18end19 20! CHECK-LABEL: func.func @_QQmain()21! CHECK: %[[L:.*]] = fir.alloca !fir.logical<4> {bindc_name = "l", uniq_name = "_QFEl"}22! HLFIR: %[[DECLL:.*]]:2 = hlfir.declare %[[L]] {uniq_name = "_QFEl"}23 24! CHECK: %[[C1:.*]] = arith.constant 1 : i3225! CHECK: acc.set default_async(%[[C1]] : i32)26 27! CHECK: %[[C1:.*]] = arith.constant 1 : i3228! HLFIR: %[[LOAD_L:.*]] = fir.load %[[DECLL]]#0 : !fir.ref<!fir.logical<4>>29! CHECK: %[[CONV_L:.*]] = fir.convert %[[LOAD_L]] : (!fir.logical<4>) -> i130! CHECK: acc.set default_async(%[[C1]] : i32) if(%[[CONV_L]])31 32! CHECK: %[[C0:.*]] = arith.constant 0 : i3233! CHECK: acc.set device_num(%[[C0]] : i32)34 35! CHECK: acc.set attributes {device_type = #acc.device_type<star>}36 37! CHECK: acc.set attributes {device_type = #acc.device_type<multicore>}38 39 40