// RUN: %clang_cc1 -fopenacc -Wno-openacc-self-if-potential-conflict -emit-cir -fclangir %s -o - | FileCheck %s #pragma acc routine seq void GlobalFunc4(); #pragma acc routine(GlobalFunc4) seq #pragma acc routine seq #pragma acc routine seq void GlobalFunc5(); #pragma acc routine(GlobalFunc5) seq #pragma acc routine(GlobalFunc5) seq void GlobalFunc6(); void GlobalFunc6(); #pragma acc routine(GlobalFunc6) seq void GlobalFunc6(){} void GlobalFunc7(){} #pragma acc routine(GlobalFunc7) seq void force_emit() { GlobalFunc4(); GlobalFunc5(); GlobalFunc6(); GlobalFunc7(); } // CHECK: cir.func{{.*}} @[[G6_NAME:[^\(]*]]({{.*}}){{.*}} attributes {acc.routine_info = #acc.routine_info<[@[[G6_R_NAME:.*]]]>} // CHECK: cir.func{{.*}} @[[G7_NAME:[^\(]*]]({{.*}}){{.*}} attributes {acc.routine_info = #acc.routine_info<[@[[G7_R_NAME:.*]]]>} // CHECK: cir.func{{.*}} @[[G4_NAME:[^\(]*]]({{.*}}){{.*}} attributes {acc.routine_info = #acc.routine_info<[@[[G4_R_NAME:.*]], @[[G4_R2_NAME:.*]]]>} // CHECK: cir.func{{.*}} @[[G5_NAME:[^\(]*]]({{.*}}){{.*}} attributes {acc.routine_info = #acc.routine_info<[@[[G5_R_NAME:.*]], @[[G5_R1_NAME:.*]], @[[G5_R2_NAME:.*]], @[[G5_R3_NAME:.*]]]>} // CHECK: acc.routine @[[G4_R_NAME]] func(@[[G4_NAME]]) seq // CHECK: acc.routine @[[G5_R_NAME]] func(@[[G5_NAME]]) seq // CHECK: acc.routine @[[G5_R1_NAME]] func(@[[G5_NAME]]) seq // // CHECK: acc.routine @[[G4_R2_NAME]] func(@[[G4_NAME]]) seq // // CHECK: acc.routine @[[G5_R2_NAME]] func(@[[G5_NAME]]) seq // CHECK: acc.routine @[[G5_R3_NAME]] func(@[[G5_NAME]]) seq // // CHECK: acc.routine @[[G6_R_NAME]] func(@[[G6_NAME]]) seq // CHECK: acc.routine @[[G7_R_NAME]] func(@[[G7_NAME]]) seq