================
@@ -13,30 +13,27 @@ void test() {
// CHECK: call void @llvm.lifetime.start.p0(ptr nonnull %[[AGG1]])
// CHECK: invoke void @_Z16func_that_throws7Trivial(ptr noundef nonnull
byval(%struct.Trivial) align 8 %[[AGG1]])
- // CHECK-NEXT: to label %[[CONT1:.*]] unwind label %[[LPAD1:.*]]
-
+ // CHECK-NEXT: to label %[[CONT1:.*]] unwind label %[[LPAD:.*]]
+
// CHECK: [[CONT1]]:
+ // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG1]])
// CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr nonnull %[[AGG2]])
// CHECK: invoke void @_Z16func_that_throws7Trivial(ptr noundef nonnull
byval(%struct.Trivial) align 8 %[[AGG2]])
- // CHECK-NEXT: to label %[[CONT2:.*]] unwind label %[[LPAD2:.*]]
+ // CHECK-NEXT: to label %[[CONT2:.*]] unwind label %[[LPAD]]
// CHECK: [[CONT2]]:
- // CHECK-DAG: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG2]])
- // CHECK-DAG: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG1]])
+ // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG2]])
// CHECK: br label %[[TRY_CONT:.*]]
- // CHECK: [[LPAD1]]:
- // CHECK: landingpad
- // CHECK: br label %[[EHCLEANUP:.*]]
-
- // CHECK: [[LPAD2]]:
+ // CHECK: [[LPAD]]:
// CHECK: landingpad
- // CHECK: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG2]])
- // CHECK: br label %[[EHCLEANUP]]
-
- // CHECK: [[EHCLEANUP]]:
- // CHECK: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG1]])
+ // CHECK-NOT: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG1]])
+ // CHECK-NOT: call void @llvm.lifetime.end.p0(ptr nonnull %[[AGG2]])
----------------
ilovepi wrote:
It seems like we don't handle the exception case, which needs to be addressed.
https://github.com/llvm/llvm-project/pull/170518
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits