diff options
author | Samuel Antao <sfantao@us.ibm.com> | 2016-06-16 16:06:22 +0000 |
---|---|---|
committer | Samuel Antao <sfantao@us.ibm.com> | 2016-06-16 16:06:22 +0000 |
commit | b1f9501242ced15bad9d98b4b729dcb2f5dc925b (patch) | |
tree | 34ed7ec3672638acd8c8660a9eee7a7ca02b76ff /clang/test/OpenMP/single_codegen.cpp | |
parent | 51ab7579410a1ae0a5e4c4d997f8c65a43fe03b1 (diff) | |
download | bcm5719-llvm-b1f9501242ced15bad9d98b4b729dcb2f5dc925b.tar.gz bcm5719-llvm-b1f9501242ced15bad9d98b4b729dcb2f5dc925b.zip |
Revert r272900 - [OpenMP] Cast captures by copy when passed to fork call so that they are compatible to what the runtime library expects.
Was causing trouble in one of the regression tests for a 32-bit address space.
llvm-svn: 272908
Diffstat (limited to 'clang/test/OpenMP/single_codegen.cpp')
-rw-r--r-- | clang/test/OpenMP/single_codegen.cpp | 44 |
1 files changed, 13 insertions, 31 deletions
diff --git a/clang/test/OpenMP/single_codegen.cpp b/clang/test/OpenMP/single_codegen.cpp index a2140c2eda7..ab57cf727e5 100644 --- a/clang/test/OpenMP/single_codegen.cpp +++ b/clang/test/OpenMP/single_codegen.cpp @@ -225,24 +225,21 @@ void array_func(int n, int a[n], St s[2]) { #endif // CHECK-LABEL:@_ZN2SSC2ERi( -// CHECK: call void ([[IDENT_T_TY]]*, i32, void (i32*, i32*, ...)*, ...) @__kmpc_fork_call([[IDENT_T_TY]]* @{{.+}}, i32 4, void (i32*, i32*, ...)* bitcast (void (i32*, i32*, [[SS_TY]]*, i64, i64, i64)* [[SS_MICROTASK:@.+]] to void +// CHECK: call void ([[IDENT_T_TY]]*, i32, void (i32*, i32*, ...)*, ...) @__kmpc_fork_call([[IDENT_T_TY]]* @{{.+}}, i32 4, void (i32*, i32*, ...)* bitcast (void (i32*, i32*, [[SS_TY]]*, i32, i32, i32)* [[SS_MICROTASK:@.+]] to void // CHECK-NEXT: ret void -// CHECK: define internal void [[SS_MICROTASK]](i32* {{[^,]+}}, i32* {{[^,]+}}, [[SS_TY]]* {{.+}}, i64 {{.+}}, i64 {{.+}}, i64 {{.+}}) +// CHECK: define internal void [[SS_MICROTASK]](i32* {{[^,]+}}, i32* {{[^,]+}}, [[SS_TY]]* {{.+}}, i32 {{.+}}, i32 {{.+}}, i32 {{.+}}) // Private a -// CHECK: alloca i64, +// CHECK: alloca i32, // Private b -// CHECK: alloca i64, +// CHECK: alloca i32, // Private c -// CHECK: alloca i64, +// CHECK: alloca i32, // CHECK: alloca i32*, // CHECK: alloca i32*, // CHECK: alloca i32*, // CHECK: alloca i32*, // CHECK: [[DID_IT:%.+]] = alloca i32, -// CHECK: bitcast i64* %{{.+}} to i32* -// CHECK: bitcast i64* %{{.+}} to i32* -// CHECK: bitcast i64* %{{.+}} to i32* // CHECK: store i32 0, i32* [[DID_IT]], // CHECK: [[RES:%.+]] = call i32 @__kmpc_single([[IDENT_T_TY]]* @{{.+}}, i32 %{{.+}}) // CHECK-NEXT: icmp ne i32 [[RES]], 0 @@ -302,42 +299,30 @@ void array_func(int n, int a[n], St s[2]) { // CHECK-NEXT: getelementptr inbounds [[CAP_TY]], [[CAP_TY]]* [[CAP]], i32 0, i32 1 // CHECK-NEXT: load i32*, i32** % // CHECK-NEXT: load i32, i32* % -// CHECK-NEXT: bitcast i64* % -// CHECK-NEXT: store i32 %{{.+}}, i32* % -// CHECK-NEXT: load i64, i64* % // CHECK-NEXT: getelementptr inbounds [[CAP_TY]], [[CAP_TY]]* [[CAP]], i32 0, i32 2 // CHECK-NEXT: load i32*, i32** % // CHECK-NEXT: load i32, i32* % -// CHECK-NEXT: bitcast i64* % -// CHECK-NEXT: store i32 %{{.+}}, i32* % -// CHECK-NEXT: load i64, i64* % // CHECK-NEXT: getelementptr inbounds [[CAP_TY]], [[CAP_TY]]* [[CAP]], i32 0, i32 3 // CHECK-NEXT: load i32*, i32** % // CHECK-NEXT: load i32, i32* % -// CHECK-NEXT: bitcast i64* % -// CHECK-NEXT: store i32 %{{.+}}, i32* % -// CHECK-NEXT: load i64, i64* % -// CHECK-NEXT: call void ([[IDENT_T_TY]]*, i32, void (i32*, i32*, ...)*, ...) @__kmpc_fork_call([[IDENT_T_TY]]* @{{.+}}, i32 4, void (i32*, i32*, ...)* bitcast (void (i32*, i32*, [[SS_TY]]*, i64, i64, i64)* [[SS_MICROTASK1:@.+]] to void +// CHECK-NEXT: call void ([[IDENT_T_TY]]*, i32, void (i32*, i32*, ...)*, ...) @__kmpc_fork_call([[IDENT_T_TY]]* @{{.+}}, i32 4, void (i32*, i32*, ...)* bitcast (void (i32*, i32*, [[SS_TY]]*, i32, i32, i32)* [[SS_MICROTASK1:@.+]] to void // CHECK-NEXT: ret void // CHECK: define internal void [[COPY_FUNC]](i8*, i8*) // CHECK: ret void -// CHECK: define internal void [[SS_MICROTASK1]](i32* {{[^,]+}}, i32* {{[^,]+}}, [[SS_TY]]* {{.+}}, i64 {{.+}}, i64 {{.+}}, i64 {{.+}}) +// CHECK: define internal void [[SS_MICROTASK1]](i32* {{[^,]+}}, i32* {{[^,]+}}, [[SS_TY]]* {{.+}}, i32 {{.+}}, i32 {{.+}}, i32 {{.+}}) // Private a -// CHECK: alloca i64, +// CHECK: alloca i32, // Private b -// CHECK: alloca i64, +// CHECK: alloca i32, // Private c -// CHECK: alloca i64, +// CHECK: alloca i32, // CHECK: alloca i32*, // CHECK: alloca i32*, // CHECK: alloca i32*, // CHECK: alloca i32*, // CHECK: [[DID_IT:%.+]] = alloca i32, -// CHECK: bitcast i64* %{{.+}} to i32* -// CHECK: bitcast i64* %{{.+}} to i32* -// CHECK: bitcast i64* %{{.+}} to i32* // CHECK: [[RES:%.+]] = call i32 @__kmpc_single([[IDENT_T_TY]]* @{{.+}}, i32 %{{.+}}) // CHECK-NEXT: icmp ne i32 [[RES]], 0 // CHECK-NEXT: br i1 @@ -383,16 +368,13 @@ void array_func(int n, int a[n], St s[2]) { // CHECK: getelementptr inbounds [[SST_TY]], [[SST_TY]]* %{{.+}}, i32 0, i32 0 // CHECK-NEXT: store double 0.000000e+00, double* % // CHECK-NEXT: getelementptr inbounds [[SST_TY]], [[SST_TY]]* %{{.+}}, i32 0, i32 0 -// CHECK-NEXT: store double* %{{.+}}, double** % +// CHECK-NEXT: store double* % // CHECK-NEXT: load double*, double** % // CHECK-NEXT: load double, double* % -// CHECK-NEXT: bitcast i64* %{{.+}} to double* -// CHECK-NEXT: store double %{{.+}}, double* % -// CHECK-NEXT: load i64, i64* % -// CHECK-NEXT: call void ([[IDENT_T_TY]]*, i32, void (i32*, i32*, ...)*, ...) @__kmpc_fork_call([[IDENT_T_TY]]* @{{.+}}, i32 2, void (i32*, i32*, ...)* bitcast (void (i32*, i32*, [[SST_TY]]*, i64)* [[SST_MICROTASK:@.+]] to void +// CHECK-NEXT: call void ([[IDENT_T_TY]]*, i32, void (i32*, i32*, ...)*, ...) @__kmpc_fork_call([[IDENT_T_TY]]* @{{.+}}, i32 2, void (i32*, i32*, ...)* bitcast (void (i32*, i32*, [[SST_TY]]*, double)* [[SST_MICROTASK:@.+]] to void // CHECK-NEXT: ret void -// CHECK: define internal void [[SST_MICROTASK]](i32* {{[^,]+}}, i32* {{[^,]+}}, [[SST_TY]]* {{.+}}, i64 {{.+}}) +// CHECK: define internal void [[SST_MICROTASK]](i32* {{[^,]+}}, i32* {{[^,]+}}, [[SST_TY]]* {{.+}}, double {{.+}}) // CHECK: [[RES:%.+]] = call i32 @__kmpc_single([[IDENT_T_TY]]* @{{.+}}, i32 %{{.+}}) // CHECK-NEXT: icmp ne i32 [[RES]], 0 // CHECK-NEXT: br i1 |