Skip to content

Commit ba5d29e

Browse files
committed
Update invoke test for tighter lifetimes
1 parent a17f2d1 commit ba5d29e

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,30 +13,27 @@ void test() {
1313

1414
// CHECK: call void @llvm.lifetime.start.p0(ptr nonnull %[[AGG1]])
1515
// CHECK: invoke void @_Z16func_that_throws7Trivial(ptr noundef nonnull byval(%struct.Trivial) align 8 %[[AGG1]])
16-
// CHECK-NEXT: to label %[[CONT1:.*]] unwind label %[[LPAD1:.*]]
17-
16+
// CHECK-NEXT: to label %[[CONT1:.*]] unwind label %[[LPAD:.*]]
17+
1818
// CHECK: [[CONT1]]:
19+
// CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG1]])
1920
// CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr nonnull %[[AGG2]])
2021
// CHECK: invoke void @_Z16func_that_throws7Trivial(ptr noundef nonnull byval(%struct.Trivial) align 8 %[[AGG2]])
21-
// CHECK-NEXT: to label %[[CONT2:.*]] unwind label %[[LPAD2:.*]]
22+
// CHECK-NEXT: to label %[[CONT2:.*]] unwind label %[[LPAD]]
2223

2324
// CHECK: [[CONT2]]:
24-
// CHECK-DAG: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG2]])
25-
// CHECK-DAG: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG1]])
25+
// CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG2]])
2626
// CHECK: br label %[[TRY_CONT:.*]]
2727

28-
// CHECK: [[LPAD1]]:
29-
// CHECK: landingpad
30-
// CHECK: br label %[[EHCLEANUP:.*]]
31-
32-
// CHECK: [[LPAD2]]:
28+
// CHECK: [[LPAD]]:
3329
// CHECK: landingpad
34-
// CHECK: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG2]])
35-
// CHECK: br label %[[EHCLEANUP]]
36-
37-
// CHECK: [[EHCLEANUP]]:
38-
// CHECK: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG1]])
30+
// CHECK-NOT: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG1]])
31+
// CHECK-NOT: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG2]])
3932
// CHECK: call ptr @__cxa_begin_catch
33+
// CHECK: br label %[[TRY_CONT]]
34+
35+
// CHECK: [[TRY_CONT]]:
36+
// CHECK-NEXT: ret void
4037
try {
4138
func_that_throws(Trivial{0});
4239
func_that_throws(Trivial{0});

0 commit comments

Comments
 (0)