// CHECK-NEXT: call void @foo()
foo();
// CHECK-NEXT: call void @objc_exception_try_exit
- // CHECK-NEXT: br label %finally.no_call_exit
// CHECK: call void asm sideeffect "", "=*m"
- // CHECK-NEXT: br label %finally.no_call_exit
} @finally {
break;
}
// CHECK-NEXT: call void @foo()
// CHECK-NEXT: call void @objc_exception_try_exit
// CHECK-NEXT: [[T:%.*]] = load i32* [[X]]
- // CHECK-NEXT: br label %finally.no_call_exit
foo();
-
- // CHECK: %tmp4 = phi i32
- // CHECK-NEXT: ret i32 %tmp4
} @catch (id) {
// Landing pad. Note that we elide the re-enter.
// CHECK: call void asm sideeffect "", "=*m,=*m"(i32* [[X]]
// This store is dead.
// CHECK-NEXT: store i32 [[T2]], i32* [[X]]
-
- // CHECK-NEXT: br label %finally.no_call_exit
x--;
}
+
return x;
}