|
1 |
| -// RUN: %clang_cc1 -triple x86_64-pc-windows-msvc -emit-llvm -fobjc-arc -fexceptions -fobjc-exceptions -fobjc-arc-exceptions -fobjc-runtime=gnustep-2.0 -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-O0 |
2 |
| -// RUN: %clang_cc1 -O2 -triple x86_64-pc-windows-msvc -emit-llvm -fobjc-arc -fexceptions -fobjc-exceptions -fobjc-arc-exceptions -fobjc-runtime=gnustep-2.0 -mllvm -enable-objc-arc-opts=false -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-O2 |
| 1 | +// RUN: %clang_cc1 -triple x86_64-pc-windows-msvc -emit-llvm -fobjc-arc -fexceptions -fobjc-exceptions -fobjc-arc-exceptions -fobjc-runtime=gnustep-2.0 -o - %s | FileCheck %s |
3 | 2 |
|
4 | 3 | // WinEH requires funclet tokens on nounwind intrinsics if they can lower to
|
5 | 4 | // regular function calls in the course of IR transformations.
|
@@ -41,29 +40,25 @@ void try_catch_with_objc_intrinsic() {
|
41 | 40 | // CHECK: [ "funclet"(token [[CATCHPAD]]) ]
|
42 | 41 | // CHECK: unwind label %[[CLEANUP2]]
|
43 | 42 | // CHECK: call
|
44 |
| -// CHECK-O0: @llvm.objc.storeStrong |
45 |
| -// CHECK-O2: @llvm.objc.release |
| 43 | +// CHECK: @llvm.objc.storeStrong |
46 | 44 | // CHECK: [ "funclet"(token [[CATCHPAD]]) ]
|
47 |
| -// CHECK-O0: catchret from [[CATCHPAD]] to label %catchret.dest |
48 |
| -// CHECK-O2: catchret from [[CATCHPAD]] to label %eh.cont |
| 45 | +// CHECK: catchret from [[CATCHPAD]] to label %catchret.dest |
49 | 46 | //
|
50 |
| -// In debug mode, this block exists and it's empty: |
51 |
| -// CHECK-O0: catchret.dest: |
52 |
| -// CHECK-O0-NEXT: br label %eh.cont |
| 47 | +// This block exists and it's empty: |
| 48 | +// CHECK: catchret.dest: |
| 49 | +// CHECK-NEXT: br label %eh.cont |
53 | 50 | //
|
54 | 51 | // CHECK: [[CLEANUP2]]:
|
55 | 52 | // CHECK-NEXT: [[CLEANUPPAD2:%[0-9]+]] = cleanuppad within [[CATCHPAD]]
|
56 | 53 | // CHECK: call
|
57 |
| -// CHECK-O0: @llvm.objc.storeStrong |
58 |
| -// CHECK-O2: @llvm.objc.release |
| 54 | +// CHECK: @llvm.objc.storeStrong |
59 | 55 | // CHECK: [ "funclet"(token [[CLEANUPPAD2]]) ]
|
60 | 56 | // CHECK: cleanupret from [[CLEANUPPAD2]]
|
61 | 57 | // CHECK: unwind label %[[CLEANUP1]]
|
62 | 58 | //
|
63 | 59 | // CHECK: [[CLEANUP1]]:
|
64 | 60 | // CHECK-NEXT: [[CLEANUPPAD1:%[0-9]+]] = cleanuppad within none
|
65 | 61 | // CHECK: call
|
66 |
| -// CHECK-O0: @llvm.objc.storeStrong |
67 |
| -// CHECK-O2: @llvm.objc.release |
| 62 | +// CHECK: @llvm.objc.storeStrong |
68 | 63 | // CHECK: [ "funclet"(token [[CLEANUPPAD1]]) ]
|
69 | 64 | // CHECK: cleanupret from [[CLEANUPPAD1]] unwind to caller
|
0 commit comments