Changeset View
Changeset View
Standalone View
Standalone View
clang/test/OpenMP/nvptx_teams_codegen.cpp
Show All 24 Lines | |||||
#pragma omp teams | #pragma omp teams | ||||
{ | { | ||||
argc = 0; | argc = 0; | ||||
} | } | ||||
return tmain(argv); | return tmain(argv); | ||||
} | } | ||||
// SEQ: [[MEM_TY:%.+]] = type { [128 x i8] } | // SEQ: [[MEM_TY:%.+]] = type { [128 x i8] } | ||||
// SEQ-DAG: [[SHARED_GLOBAL_RD:@.+]] = common addrspace(3) global [[MEM_TY]] zeroinitializer | // SEQ-DAG: [[SHARED_GLOBAL_RD:@.+]] = weak addrspace(3) global [[MEM_TY]] undef | ||||
// SEQ-DAG: [[KERNEL_PTR:@.+]] = internal addrspace(3) global i8* null | // SEQ-DAG: [[KERNEL_PTR:@.+]] = internal addrspace(3) global i8* undef | ||||
// SEQ-DAG: [[KERNEL_SIZE1:@.+]] = internal unnamed_addr constant i{{64|32}} 4 | // SEQ-DAG: [[KERNEL_SIZE1:@.+]] = internal unnamed_addr constant i{{64|32}} 4 | ||||
// SEQ-DAG: [[KERNEL_SIZE2:@.+]] = internal unnamed_addr constant i{{64|32}} {{8|4}} | // SEQ-DAG: [[KERNEL_SIZE2:@.+]] = internal unnamed_addr constant i{{64|32}} {{8|4}} | ||||
// SEQ-DAG: [[KERNEL_SHARED1:@.+]] = internal unnamed_addr constant i16 1 | // SEQ-DAG: [[KERNEL_SHARED1:@.+]] = internal unnamed_addr constant i16 1 | ||||
// SEQ-DAG: [[KERNEL_SHARED2:@.+]] = internal unnamed_addr constant i16 1 | // SEQ-DAG: [[KERNEL_SHARED2:@.+]] = internal unnamed_addr constant i16 1 | ||||
// only nvptx side: do not outline teams region and do not call fork_teams | // only nvptx side: do not outline teams region and do not call fork_teams | ||||
// CK1: define {{.*}}void @{{[^,]+}}(i{{[0-9]+}} [[ARGC:%.+]]) | // CK1: define {{.*}}void @{{[^,]+}}(i{{[0-9]+}} [[ARGC:%.+]]) | ||||
// CK1: [[ARGCADDR:%.+]] = alloca i{{[0-9]+}}, | // CK1: [[ARGCADDR:%.+]] = alloca i{{[0-9]+}}, | ||||
▲ Show 20 Lines • Show All 71 Lines • ▼ Show 20 Lines | |||||
#pragma omp teams num_teams(a) thread_limit(b) | #pragma omp teams num_teams(a) thread_limit(b) | ||||
{ | { | ||||
argc = 0; | argc = 0; | ||||
} | } | ||||
return tmain(argv); | return tmain(argv); | ||||
} | } | ||||
// SEQ2: [[MEM_TY:%.+]] = type { [128 x i8] } | // SEQ2: [[MEM_TY:%.+]] = type { [128 x i8] } | ||||
// SEQ2-DAG: [[SHARED_GLOBAL_RD:@.+]] = common addrspace(3) global [[MEM_TY]] zeroinitializer | // SEQ2-DAG: [[SHARED_GLOBAL_RD:@.+]] = weak addrspace(3) global [[MEM_TY]] undef | ||||
// SEQ2-DAG: [[KERNEL_PTR:@.+]] = internal addrspace(3) global i8* null | // SEQ2-DAG: [[KERNEL_PTR:@.+]] = internal addrspace(3) global i8* undef | ||||
// SEQ2-DAG: [[KERNEL_SIZE1:@.+]] = internal unnamed_addr constant i{{64|32}} 4 | // SEQ2-DAG: [[KERNEL_SIZE1:@.+]] = internal unnamed_addr constant i{{64|32}} 4 | ||||
// SEQ2-DAG: [[KERNEL_SIZE2:@.+]] = internal unnamed_addr constant i{{64|32}} {{8|4}} | // SEQ2-DAG: [[KERNEL_SIZE2:@.+]] = internal unnamed_addr constant i{{64|32}} {{8|4}} | ||||
// SEQ2-DAG: [[KERNEL_SHARED1:@.+]] = internal unnamed_addr constant i16 1 | // SEQ2-DAG: [[KERNEL_SHARED1:@.+]] = internal unnamed_addr constant i16 1 | ||||
// SEQ2-DAG: [[KERNEL_SHARED2:@.+]] = internal unnamed_addr constant i16 1 | // SEQ2-DAG: [[KERNEL_SHARED2:@.+]] = internal unnamed_addr constant i16 1 | ||||
// CK2: define {{.*}}void @{{[^,]+}}(i{{[0-9]+}} [[A_IN:%.+]], i{{[0-9]+}} [[B_IN:%.+]], i{{[0-9]+}} [[ARGC_IN:.+]]) | // CK2: define {{.*}}void @{{[^,]+}}(i{{[0-9]+}} [[A_IN:%.+]], i{{[0-9]+}} [[B_IN:%.+]], i{{[0-9]+}} [[ARGC_IN:.+]]) | ||||
// CK2: [[AADDR:%.+]] = alloca i{{[0-9]+}}, | // CK2: [[AADDR:%.+]] = alloca i{{[0-9]+}}, | ||||
// CK2: [[BADDR:%.+]] = alloca i{{[0-9]+}}, | // CK2: [[BADDR:%.+]] = alloca i{{[0-9]+}}, | ||||
▲ Show 20 Lines • Show All 53 Lines • Show Last 20 Lines |