summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC/ns_consume_null_check.m
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-02-22 09:10:20 +0000
committerBill Wendling <isanbard@gmail.com>2013-02-22 09:10:20 +0000
commite1c4a1babd90ea097ef80df44011e977212c2e78 (patch)
treec8a4cf6471fcb59e39f19d8a21421daed9285b24 /clang/test/CodeGenObjC/ns_consume_null_check.m
parenta032374ea0d069bff44045eee72ebdaa100ccc7a (diff)
downloadbcm5719-llvm-e1c4a1babd90ea097ef80df44011e977212c2e78.tar.gz
bcm5719-llvm-e1c4a1babd90ea097ef80df44011e977212c2e78.zip
Update to use references to attribute groups instead of listing the attributes on the call/invoke instructions.
llvm-svn: 175878
Diffstat (limited to 'clang/test/CodeGenObjC/ns_consume_null_check.m')
-rw-r--r--clang/test/CodeGenObjC/ns_consume_null_check.m14
1 files changed, 8 insertions, 6 deletions
diff --git a/clang/test/CodeGenObjC/ns_consume_null_check.m b/clang/test/CodeGenObjC/ns_consume_null_check.m
index 5328b9feb28..6a31a808f4c 100644
--- a/clang/test/CodeGenObjC/ns_consume_null_check.m
+++ b/clang/test/CodeGenObjC/ns_consume_null_check.m
@@ -25,7 +25,7 @@ void test0(void) {
// CHECK-NEXT: [[EIGHT:%.*]] = bitcast i8* [[FN]]
// CHECK-NEXT: [[CALL:%.*]] = call signext i8 [[EIGHT]]
// CHECK-NEXT: br label [[CONT:%.*]]
-// CHECK: call void @objc_release(i8* [[FIVE]]) nounwind
+// CHECK: call void @objc_release(i8* [[FIVE]]) [[NUW:#[0-9]+]]
// CHECK-NEXT: br label [[CONT]]
// CHECK: phi i8 [ [[CALL]], {{%.*}} ], [ 0, {{%.*}} ]
@@ -44,7 +44,7 @@ void test1(void) {
// CHECK: [[T0:%.*]] = call i8* bitcast (
// CHECK-NEXT: store i8* [[T0]], i8** [[OBJ]]
// CHECK-NEXT: [[T0:%.*]] = load i8** [[OBJ]]
-// CHECK-NEXT: call i8* @objc_initWeak(i8** [[WEAKOBJ]], i8* [[T0]]) nounwind
+// CHECK-NEXT: call i8* @objc_initWeak(i8** [[WEAKOBJ]], i8* [[T0]]) [[NUW]]
// Okay, start the message-send.
// CHECK-NEXT: [[T0:%.*]] = load [[MYOBJECT:%.*]]** @x
// CHECK-NEXT: [[ARG:%.*]] = load i8** [[OBJ]]
@@ -65,7 +65,7 @@ void test1(void) {
// CHECK-NEXT: [[IMAGCALL:%.*]] = load float* [[T0]]
// CHECK-NEXT: br label [[CONT:%.*]]{{$}}
// Null path.
-// CHECK: call void @objc_release(i8* [[ARG_RETAINED]]) nounwind
+// CHECK: call void @objc_release(i8* [[ARG_RETAINED]]) [[NUW]]
// CHECK-NEXT: br label [[CONT]]
// Join point.
// CHECK: [[REAL:%.*]] = phi float [ [[REALCALL]], [[INVOKE_CONT]] ], [ 0.000000e+00, [[FORNULL]] ]
@@ -75,9 +75,11 @@ void test1(void) {
// CHECK-NEXT: store float [[REAL]], float* [[T0]]
// CHECK-NEXT: store float [[IMAG]], float* [[T1]]
// Epilogue.
-// CHECK-NEXT: call void @objc_destroyWeak(i8** [[WEAKOBJ]]) nounwind
-// CHECK-NEXT: call void @objc_storeStrong(i8** [[OBJ]], i8* null) nounwind
+// CHECK-NEXT: call void @objc_destroyWeak(i8** [[WEAKOBJ]]) [[NUW]]
+// CHECK-NEXT: call void @objc_storeStrong(i8** [[OBJ]], i8* null) [[NUW]]
// CHECK-NEXT: ret void
// Cleanup.
// CHECK: landingpad
-// CHECK: call void @objc_destroyWeak(i8** [[WEAKOBJ]]) nounwind
+// CHECK: call void @objc_destroyWeak(i8** [[WEAKOBJ]]) [[NUW]]
+
+// CHECK: attributes [[NUW]] = { nounwind }
OpenPOWER on IntegriCloud