diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2018-01-08 20:09:47 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2018-01-08 20:09:47 +0000 |
commit | aee9389b04981d63793864160df4bd8f1ea21c95 (patch) | |
tree | 3a9c803e9cc3e5da59b0922e082cf18ad3277754 /clang/test/OpenMP/taskloop_reduction_codegen.cpp | |
parent | b6e3c55465843b03dcbfcb1320fe2522cfdd9c32 (diff) | |
download | bcm5719-llvm-aee9389b04981d63793864160df4bd8f1ea21c95.tar.gz bcm5719-llvm-aee9389b04981d63793864160df4bd8f1ea21c95.zip |
[OPENMP] Fix debug info for outlined functions in NVPTX + add more tests.
Fixed name of emitted outlined functions in NVPTX target + extra tests
for the debug info.
llvm-svn: 322022
Diffstat (limited to 'clang/test/OpenMP/taskloop_reduction_codegen.cpp')
-rw-r--r-- | clang/test/OpenMP/taskloop_reduction_codegen.cpp | 47 |
1 files changed, 28 insertions, 19 deletions
diff --git a/clang/test/OpenMP/taskloop_reduction_codegen.cpp b/clang/test/OpenMP/taskloop_reduction_codegen.cpp index a7941ff3627..706419ef775 100644 --- a/clang/test/OpenMP/taskloop_reduction_codegen.cpp +++ b/clang/test/OpenMP/taskloop_reduction_codegen.cpp @@ -72,11 +72,11 @@ sum = 0.0; // CHECK-DAG: [[TMP22:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_]], i32 0, i32 1 // CHECK-DAG: store i64 4, i64* [[TMP22]], // CHECK-DAG: [[TMP23:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_]], i32 0, i32 2 -// CHECK-DAG: store i8* bitcast (void (i8*)* [[RED_INIT1:@.+]] to i8*), i8** [[TMP23]], +// CHECK-DAG: store i8* bitcast (void (i8*)* @[[RED_INIT1:.+]] to i8*), i8** [[TMP23]], // CHECK-DAG: [[TMP24:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_]], i32 0, i32 3 // CHECK-DAG: store i8* null, i8** [[TMP24]], // CHECK-DAG: [[TMP25:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_]], i32 0, i32 4 -// CHECK-DAG: store i8* bitcast (void (i8*, i8*)* [[RED_COMB1:@.+]] to i8*), i8** [[TMP25]], +// CHECK-DAG: store i8* bitcast (void (i8*, i8*)* @[[RED_COMB1:.+]] to i8*), i8** [[TMP25]], // CHECK-DAG: [[TMP26:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_]], i32 0, i32 5 // CHECK-DAG: [[TMP27:%.*]] = bitcast i32* [[TMP26]] to i8* // CHECK-DAG: call void @llvm.memset.p0i8.i64(i8* [[TMP27]], i8 0, i64 4, i32 8, i1 false) @@ -95,11 +95,11 @@ sum = 0.0; // CHECK-DAG: store i64 [[TMP37]], i64* [[TMP38:%[^,]+]], // CHECK-DAG: [[TMP38]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_4]], i32 0, i32 1 // CHECK-DAG: [[TMP39:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_4]], i32 0, i32 2 -// CHECK-DAG: store i8* bitcast (void (i8*)* [[RED_INIT2:@.+]] to i8*), i8** [[TMP39]], +// CHECK-DAG: store i8* bitcast (void (i8*)* @[[RED_INIT2:.+]] to i8*), i8** [[TMP39]], // CHECK-DAG: [[TMP40:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_4]], i32 0, i32 3 -// CHECK-DAG: store i8* bitcast (void (i8*)* [[RED_FINI2:@.+]] to i8*), i8** [[TMP40]], +// CHECK-DAG: store i8* bitcast (void (i8*)* @[[RED_FINI2:.+]] to i8*), i8** [[TMP40]], // CHECK-DAG: [[TMP41:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_4]], i32 0, i32 4 -// CHECK-DAG: store i8* bitcast (void (i8*, i8*)* [[RED_COMB2:@.+]] to i8*), i8** [[TMP41]], +// CHECK-DAG: store i8* bitcast (void (i8*, i8*)* @[[RED_COMB2:.+]] to i8*), i8** [[TMP41]], // CHECK-DAG: [[TMP42:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_4]], i32 0, i32 5 // CHECK-DAG: store i32 1, i32* [[TMP42]], // CHECK-DAG: [[TMP44:%.*]] = load float*, float** [[D]], @@ -109,11 +109,11 @@ sum = 0.0; // CHECK-DAG: [[TMP46:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_7]], i32 0, i32 1 // CHECK-DAG: store i64 4, i64* [[TMP46]], // CHECK-DAG: [[TMP47:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_7]], i32 0, i32 2 -// CHECK-DAG: store i8* bitcast (void (i8*)* [[RED_INIT3:@.+]] to i8*), i8** [[TMP47]], +// CHECK-DAG: store i8* bitcast (void (i8*)* @[[RED_INIT3:.+]] to i8*), i8** [[TMP47]], // CHECK-DAG: [[TMP48:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_7]], i32 0, i32 3 // CHECK-DAG: store i8* null, i8** [[TMP48]], // CHECK-DAG: [[TMP49:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_7]], i32 0, i32 4 -// CHECK-DAG: store i8* bitcast (void (i8*, i8*)* [[RED_COMB3:@.+]] to i8*), i8** [[TMP49]], +// CHECK-DAG: store i8* bitcast (void (i8*, i8*)* @[[RED_COMB3:.+]] to i8*), i8** [[TMP49]], // CHECK-DAG: [[TMP50:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_7]], i32 0, i32 5 // CHECK-DAG: [[TMP51:%.*]] = bitcast i32* [[TMP50]] to i8* // CHECK-DAG: call void @llvm.memset.p0i8.i64(i8* [[TMP51]], i8 0, i64 4, i32 8, i1 false) @@ -125,11 +125,11 @@ sum = 0.0; // CHECK-DAG: store i64 [[TMP54]], i64* [[TMP56:%[^,]+]], // CHECK-DAG: [[TMP56]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_8]], i32 0, i32 1 // CHECK-DAG: [[TMP57:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_8]], i32 0, i32 2 -// CHECK-DAG: store i8* bitcast (void (i8*)* [[RED_INIT4:@.+]] to i8*), i8** [[TMP57]], +// CHECK-DAG: store i8* bitcast (void (i8*)* @[[RED_INIT4:.+]] to i8*), i8** [[TMP57]], // CHECK-DAG: [[TMP58:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_8]], i32 0, i32 3 // CHECK-DAG: store i8* null, i8** [[TMP58]], // CHECK-DAG: [[TMP59:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_8]], i32 0, i32 4 -// CHECK-DAG: store i8* bitcast (void (i8*, i8*)* [[RED_COMB4:@.+]] to i8*), i8** [[TMP59]], +// CHECK-DAG: store i8* bitcast (void (i8*, i8*)* @[[RED_COMB4:.+]] to i8*), i8** [[TMP59]], // CHECK-DAG: [[TMP60:%.*]] = getelementptr inbounds [[STRUCT_KMP_TASK_RED_INPUT_T]], %struct.kmp_task_red_input_t* [[DOTRD_INPUT_GEP_8]], i32 0, i32 5 // CHECK-DAG: store i32 1, i32* [[TMP60]], // CHECK-DAG: [[DOTRD_INPUT_GEP_]] = getelementptr inbounds [4 x %struct.kmp_task_red_input_t], [4 x %struct.kmp_task_red_input_t]* [[DOTRD_INPUT_]], i64 0, i64 @@ -153,50 +153,59 @@ sum = 0.0; // CHECK: ret i32 -// CHECK: define internal void [[RED_INIT1]](i8*) +// CHECK: define internal void @[[RED_INIT1]](i8*) // CHECK: store float 0.000000e+00, float* % // CHECK: ret void -// CHECK: define internal void [[RED_COMB1]](i8*, i8*) +// CHECK: define internal void @[[RED_COMB1]](i8*, i8*) // CHECK: fadd float % // CHECK: store float %{{.+}}, float* % // CHECK: ret void -// CHECK: define internal void [[RED_INIT2]](i8*) +// CHECK: define internal void @[[RED_INIT2]](i8*) // CHECK: call i8* @__kmpc_threadprivate_cached( // CHECK: call i8* @__kmpc_threadprivate_cached( // CHECK: call void @llvm.memcpy.p0i8.p0i8.i64( // CHECK: ret void -// CHECK: define internal void [[RED_FINI2]](i8*) +// CHECK: define internal void @[[RED_FINI2]](i8*) // CHECK: call i8* @__kmpc_threadprivate_cached( // CHECK: call void @ // CHECK: ret void -// CHECK: define internal void [[RED_COMB2]](i8*, i8*) +// CHECK: define internal void @[[RED_COMB2]](i8*, i8*) // CHECK: call i8* @__kmpc_threadprivate_cached( // CHECK: fadd float % // CHECK: store float %{{.+}}, float* % // CHECK: ret void -// CHECK: define internal void [[RED_INIT3]](i8*) +// CHECK: define internal void @[[RED_INIT3]](i8*) // CHECK: store float 0.000000e+00, float* % // CHECK: ret void -// CHECK: define internal void [[RED_COMB3]](i8*, i8*) +// CHECK: define internal void @[[RED_COMB3]](i8*, i8*) // CHECK: fadd float % // CHECK: store float %{{.+}}, float* % // CHECK: ret void -// CHECK: define internal void [[RED_INIT4]](i8*) +// CHECK: define internal void @[[RED_INIT4]](i8*) // CHECK: call i8* @__kmpc_threadprivate_cached( // CHECK: store float 0.000000e+00, float* % // CHECK: ret void -// CHECK: define internal void [[RED_COMB4]](i8*, i8*) +// CHECK: define internal void @[[RED_COMB4]](i8*, i8*) // CHECK: call i8* @__kmpc_threadprivate_cached( // CHECK: fadd float % // CHECK: store float %{{.+}}, float* % // CHECK: ret void -// CHECK: distinct !DISubprogram(linkageName: "[[TASK]]", scope: ! +// CHECK-DAG: distinct !DISubprogram(linkageName: "[[TASK]]", scope: ! +// CHECK-DAG: !DISubprogram(linkageName: "[[RED_INIT1]]" +// CHECK-DAG: !DISubprogram(linkageName: "[[RED_COMB1]]" +// CHECK-DAG: !DISubprogram(linkageName: "[[RED_INIT2]]" +// CHECK-DAG: !DISubprogram(linkageName: "[[RED_FINI2]]" +// CHECK-DAG: !DISubprogram(linkageName: "[[RED_COMB2]]" +// CHECK-DAG: !DISubprogram(linkageName: "[[RED_INIT3]]" +// CHECK-DAG: !DISubprogram(linkageName: "[[RED_COMB3]]" +// CHECK-DAG: !DISubprogram(linkageName: "[[RED_INIT4]]" +// CHECK-DAG: !DISubprogram(linkageName: "[[RED_COMB4]]" |