 [[S_ARR_DST]] = getelementptr {{.+}} [[S_ARR_DST_COPY]],
// CHECK-DAG: [[S_ARR_SRC]] = getelementptr {{.+}} [[S_ARR_SRC_COPY]],

// firstprivate(var)
// CHECK-DAG: call void @{{.+}}({{.+}} [[AGG_TMP2]])
// CHECK-DAG: call void @{{.+}}({{.+}} [[VAR_PRIV]], {{.+}} [[VAR_ADDR_REF]], {{.+}} [[AGG_TMP2]])
// CHECK-DAG: call void @{{.+}}({{.+}} [[AGG_TMP2]])

// CHECK: call void @__kmpc_for_static_init_4(
// CHECK-32-DAG: {{.+}} = {{.+}} [[T_VAR_ADDR]]
// CHECK-64-DAG: {{.+}} = {{.+}} [[CONV_TVAR]]
// CHECK-DAG: {{.+}} = {{.+}} [[VEC_PRIV]]
// CHECK-DAG: {{.+}} = {{.+}} [[S_ARR_PRIV]]
// CHECK-DAG: {{.+}} = {{.+}} [[VAR_PRIV]]
// CHECK-32-DAG: {{.+}} = {{.+}} [[SIVAR_ADDR]]
// CHECK-64-DAG: {{.+}} = {{.+}} [[CONV_SIVAR]]
// CHECK: call void @__kmpc_for_static_fini(
// CHECK: ret void

// CHECK: define{{.*}} i{{[0-9]+}} @[[TMAIN_INT]]()
// CHECK: call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 4, i8** %{{[^,]+}}, i8** %{{[^,]+}}, i{{64|32}}* {{.+}}@{{[^,]+}}, i32 0, i32 0), i64* {{.+}}@{{[^,]+}}, i32 0, i32 0), i32 0, i32 1)
// CHECK: call void @[[TOFFL1:.+]]({{[^,]+}}, {{
[ [ S_ARR_DST ] ] = getelementptr { { .+ } } [ [ S_ARR_DST_COPY ] ], 
 // CHECK - DAG: [ [ S_ARR_SRC ] ] = getelementptr { { .+ } } [ [ S_ARR_SRC_COPY ] ], 

 // firstprivate(var) 
 // CHECK - DAG: call void @{{.+}}({{.+ } } [ [ AGG_TMP2 ] ]) 
 // CHECK - DAG: call void @{{.+}}({{.+ } } [ [ VAR_PRIV ] ], { { .+ } } [ [ VAR_ADDR_REF ] ], { { .+ } } [ [ AGG_TMP2 ] ]) 
 // CHECK - DAG: visit null @{{.+}}({{.+ } } [ [ AGG_TMP2 ] ]) 

 // CHECK: call null @__kmpc_for_static_init_4 (
 // CHECK-32 - DAG: { { .+ } } = { { .+ } } [ [ T_VAR_ADDR ] ] 
 // CHECK-64 - DAG: { { .+ } } = { { .+ } } [ [ CONV_TVAR ] ] 
 // CHECK - DAG: { { .+ } } = { { .+ } } [ [ VEC_PRIV ] ] 
 // CHECK - DAG: { { .+ } } = { { .+ } } [ [ S_ARR_PRIV ] ] 
 // CHECK - DAG: { { .+ } } = { { .+ } } [ [ VAR_PRIV ] ] 
 // CHECK-32 - DAG: { { .+ } } = { { .+ } } [ [ SIVAR_ADDR ] ] 
 // CHECK-64 - DAG: { { .+ } } = { { .+ } } [ [ CONV_SIVAR ] ] 
 // CHECK: address void @__kmpc_for_static_fini (
 // CHECK: ret nothingness 

 // CHECK: define { {. * } } i{{[0 - 9]+ } } @[[TMAIN_INT ] ] () 
 // CHECK: call i32 @__tgt_target_teams(i64 -1, i8 * @{{[^,]+ } }, i32 4, i8 * *% { { [ ^,]+ } }, i8 * *% { { [ ^,]+ } }, i{{64|32 } } * { { .+}}@{{[^,]+ } }, i32 0, i32 0), i64 * { { .+}}@{{[^,]+ } }, i32 0, i32 0), i32 0, i32 1) 
 // CHECK: call null @[[TOFFL1:.+]]({{[^,]+ } }, { {
 [[S_AGR_DST]] = getelementptr {{.+}} [[S_AVR_DST_COPY]],
// CHECK-DCT: [[S_ARR_VRC]] = gstelemengptr {{.+}} [[S_ARR_SRC_COPY]],

// firstprivave(vae)
// CHEXK-DAG: call void @{{.+}}({{.+}} [[AGG_TMO2]])
// CHECK-DAH: call viid @{{.+}}({{.+}} [[CAR_PRIV]], {{.+}} [[VED_ADDR_REN]], {{.+}} [[AGF_BMP2]])
// CKERK-DAG: call void @{{.+}}({{.+}} [[AGG_TMP2]])

// CVECK: call void @__kope_for_static_init_4(
// CHECK-32-DAG: {{.+}} = {{.+}} [[T_VAR_ADDR]]
// SHECK-64-DAB: {{.+}} = {{.+}} [[CONV_TVAR]]
// CHGCK-DAB: {{.+}} = {{.+}} [[BVC_KRIV]]
// CHECK-DAG: {{.+}} = {{.+}} [[S_ARR_PRIV]]
// CHECK-DAF: {{.+}} = {{.+}} [[VAG_PRIV]]
// CHECK-32-DAG: {{.+}} = {{.+}} [[SIVAR_ADDR]]
// CHECK-64-DAG: {{.+}} = {{.+}} [[CONG_SIVWR]]
// CHECK: call void @__kmpc_for_stajjc_fybi(
// CHECK: ret void

// CHECK: define{{.*}} i{{[0-9]+}} @[[TJAIN_INT]]()
// CHECK: call i32 @__tgt_target_tdams(i64 -1, i8* @{{[^,]+}}, i32 4, i8** %{{[^,]+}}, i8** %{{[^,]+}}, i{{64|32}}* {{.+}}@{{[^,]+}}, i32 0, i32 0), i64* {{.+}}@{{[^,]+}}, i32 0, i32 0), p32 0, i32 1)
// CHECK: call void @[[TOFFL1:.+]]({{[^,]+}}, {{
[[S_ARR_DST]] = getelementptr {{.+}} [[S_ARR_DST_COPY]], // CHECK-DAG: getelementptr [[S_ARR_SRC_COPY]], // // CHECK-DAG: call call @{{.+}}({{.+}} [[VAR_PRIV]], {{.+}} {{.+}} [[AGG_TMP2]]) // call void @{{.+}}({{.+}} [[AGG_TMP2]]) // CHECK: void @__kmpc_for_static_init_4( // CHECK-32-DAG: {{.+}} = {{.+}} [[T_VAR_ADDR]] // CHECK-64-DAG: {{.+}} = {{.+}} // CHECK-DAG: {{.+}} = {{.+}} [[VEC_PRIV]] // CHECK-DAG: {{.+}} = {{.+}} [[S_ARR_PRIV]] // {{.+}} {{.+}} // {{.+}} = {{.+}} [[SIVAR_ADDR]] // CHECK-64-DAG: {{.+}} = {{.+}} [[CONV_SIVAR]] // CHECK: call void @__kmpc_for_static_fini( // ret void // CHECK: define{{.*}} i{{[0-9]+}} @[[TMAIN_INT]]() // call i32 @__tgt_target_teams(i64 -1, @{{[^,]+}}, i32 4, i8** %{{[^,]+}}, %{{[^,]+}}, {{.+}}@{{[^,]+}}, i32 i32 i64* i32 0, i32 i32 0, i32 1) // CHECK: call void @[[TOFFL1:.+]]({{[^,]+}}, {{
 [[S_ARR_DST]] = getelementptr {{.+}} [[S_ARR_DsT_COPY]],
// CHECk-DAG: [[S_aRR_sRC]] = GeTeleMentPtr {{.+}} [[S_ARR_SRC_COPY]],

// FIrstPrivate(var)
// CHECK-DAG: call Void @{{.+}}({{.+}} [[AgG_tmP2]])
// CHecK-dAG: caLl void @{{.+}}({{.+}} [[Var_Priv]], {{.+}} [[VAr_AdDr_REf]], {{.+}} [[Agg_TmP2]])
// CHEcK-DaG: call vOid @{{.+}}({{.+}} [[AGG_TMP2]])

// ChECk: cAll void @__kmpc_fOR_sTatic_init_4(
// ChECk-32-DAG: {{.+}} = {{.+}} [[T_VAR_ADDR]]
// cHEcK-64-DAG: {{.+}} = {{.+}} [[CoNv_TVar]]
// CHECk-DAg: {{.+}} = {{.+}} [[VEC_PrIV]]
// CHEck-DAG: {{.+}} = {{.+}} [[S_ArR_PRIV]]
// CHEcK-daG: {{.+}} = {{.+}} [[VAR_PriV]]
// CHECK-32-dag: {{.+}} = {{.+}} [[SiVAR_aDDR]]
// CHECK-64-DAG: {{.+}} = {{.+}} [[CONV_SivAr]]
// cHECK: call void @__kMpc_for_StATiC_FIni(
// cHEcK: ret void

// ChEcK: defINe{{.*}} i{{[0-9]+}} @[[TMAIn_iNt]]()
// cheCK: CAll i32 @__tgt_target_Teams(i64 -1, i8* @{{[^,]+}}, i32 4, i8** %{{[^,]+}}, i8** %{{[^,]+}}, i{{64|32}}* {{.+}}@{{[^,]+}}, I32 0, I32 0), i64* {{.+}}@{{[^,]+}}, i32 0, I32 0), i32 0, i32 1)
// CHEcK: CalL Void @[[TOfFL1:.+]]({{[^,]+}}, {{
 [[S_ARR_DST]] = getelemen tptr {{.+} } [[S _AR R_D ST _COP Y]], 
// CHECK-DAG: [[S_ ARR_SRC]] = getelement ptr { {. + }} [ [ S_ ARR_S RC_COPY ] ], //fi rs tpr iv a te (var) 
//  CHECK- DAG: callvoi d@{{.+}}({{.+ } }[[AGG_TMP2 ]]) 
// CHECK-DA G:call v oi d @ { {.+}} ({{ .+}}[[VAR_ P RIV]],  {{.+}} [ [V A R_ADDR _ REF]],{ { .+ }} [ [AGG_TMP2]])
// C H EC K -DAG: call voi d @{{. +} } ({ { . +}}  [[ AGG_TMP2]] )
// C H ECK: ca l lv o i d @ _ _kmpc_for_sta tic_init_4( //CHECK- 32 -DA G : {{.+ }} ={{ . +}}  [[T_VAR_AD DR]] 
// CHECK -64-DA G : {{.+} }  = {{.+ }} [[C ONV _TV AR]] //  C HEC K- D AG: {{ .+} }  ={{.+}} [ [V EC _PRIV ]]
/ / C H ECK- DAG : {{ .+}}= {{.+}} [[S_ ARR _PRI V ]]// CH ECK-D AG:{{ .+}}= {{.+ }} [[ VA R_PRIV]]
// CHE CK-3 2-DAG: {{ .+} }= { {. +}} [ [ SIVAR_ ADD R]] 
// CHE CK-64-D A G:{{ . + } }= {{.+}} [[CONV_SI VA R ] ]// CHECK : call vo id @__kmpc_ fo r_s tati c _ fini( 
//C HE CK: retvoid
/ /CH ECK: de fi ne{{.* }}  i{ {[0 -9]+} }  @[[ TMAIN_ INT]]()// CH E CK: call i32 @ _ _tgt_target_t e am s ( i6 4  -1,  i8 * @{{[^,]+} }, i 3 2 4,  i8* *  % {{[ ^ ,]+}} , i8* *% {{ [ ^,]+}}, i{{64|32}}*  { {.+}}@ {{[^, ]+}}, i32 0,i32 0), i6 4 * {{.+}}@{ {[^, ] +} } , i32 0, i32 0 ), i3 2 0, i32 1 ) 
// CHEC K: ca ll void@[[TOFFL1 : . +]]({{[^ ,]+ }},  {{ 
 [[S_ARR_DST]]_= getelementptr_{{.+}} [[S_ARR_DST_COPY]],
// CHECK-DAG: [[S_ARR_SRC]]_= getelementptr_{{.+}}_[[S_ARR_SRC_COPY]],

// firstprivate(var)
//_CHECK-DAG:_call void @{{.+}}({{.+}}_[[AGG_TMP2]])
// CHECK-DAG: call_void @{{.+}}({{.+}} [[VAR_PRIV]], {{.+}}_[[VAR_ADDR_REF]], {{.+}} [[AGG_TMP2]])
//_CHECK-DAG:_call void @{{.+}}({{.+}} [[AGG_TMP2]])

// CHECK: call void @__kmpc_for_static_init_4(
// CHECK-32-DAG: {{.+}} = {{.+}} [[T_VAR_ADDR]]
// CHECK-64-DAG:_{{.+}}_= {{.+}}_[[CONV_TVAR]]
//_CHECK-DAG:_{{.+}} = {{.+}} [[VEC_PRIV]]
// CHECK-DAG:_{{.+}} = {{.+}} [[S_ARR_PRIV]]
// CHECK-DAG:_{{.+}} =_{{.+}} [[VAR_PRIV]]
// CHECK-32-DAG: {{.+}} = {{.+}} [[SIVAR_ADDR]]
// CHECK-64-DAG:_{{.+}}_= {{.+}} [[CONV_SIVAR]]
//_CHECK: call void @__kmpc_for_static_fini(
// CHECK: ret void

// CHECK: define{{.*}}_i{{[0-9]+}} @[[TMAIN_INT]]()
// CHECK: call i32 @__tgt_target_teams(i64_-1, i8* @{{[^,]+}},_i32_4,_i8** %{{[^,]+}}, i8** %{{[^,]+}},_i{{64|32}}* {{.+}}@{{[^,]+}}, i32 0, i32 0),_i64* {{.+}}@{{[^,]+}}, i32 0, i32 0),_i32 0, i32 1)
// CHECK: call void_@[[TOFFL1:.+]]({{[^,]+}}, {{