@@ -15,27 +15,26 @@ void test() {
1515
1616 // CHECK: call void @llvm.lifetime.start.p0(ptr{{.*}} %[[AGG1]])
1717 // CHECK: invoke void @func_that_throws(ptr{{.*}} %[[AGG1]])
18- // CHECK-NEXT: to label %[[CONT1:.*]] unwind label %[[LPAD:.*]]
19-
20- // CHECK: [[CONT1]]:
2118
19+ // CHECK: [[CONT1:.*]]:
2220 // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr{{.*}} %[[AGG1]])
2321 // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr{{.*}} %[[AGG2]])
24- // CHECK: invoke void @_func_that_throws(ptr{{.*}} %[[AGG2]])
25- // CHECK-NEXT: to label %[[CONT2:.*]] unwind label %[[LPAD]]
22+ // CHECK: invoke void @func_that_throws(ptr{{.*}} %[[AGG2]])
2623
27- // CHECK: [[CONT2]]:
24+ // CHECK: [[CONT2:.* ]]:
2825 // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr{{.*}} %[[AGG2]])
29- // CHECK: br label %[[TRY_CONT:.*]]
3026
31- // CHECK: [[LPAD]]:
27+ // CHECK: [[LPAD1:lpad.*]]:
28+ // CHECK: landingpad
29+ // CHECK: br label %[[EHCLEANUP:.*]]
30+
31+ // CHECK: [[LPAD2:lpad.*]]:
3232 // CHECK: landingpad
33- // CHECK-NOT: call void @llvm.lifetime.end.p0(ptr{{.*}} %[[AGG1]])
34- // CHECK-NOT: call void @llvm.lifetime.end.p0(ptr{{.*}} %[[AGG2]])
35- // CHECK: br label %[[TRY_CONT]]
33+ // CHECK: call void @llvm.lifetime.end.p0(ptr{{.*}} %[[AGG2]])
34+ // CHECK: br label %[[EHCLEANUP]]
3635
37- // CHECK: [[TRY_CONT ]]:
38- // CHECK-NEXT: ret void
36+ // CHECK: [[EHCLEANUP ]]:
37+ // CHECK: call void @llvm.lifetime.end.p0(ptr{{.*}} %[[AGG1]])
3938 try {
4039 func_that_throws (Trivial{0 });
4140 func_that_throws (Trivial{0 });
0 commit comments