This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG01023bfcd33f: [CGObjC] Add run line for release mode in test arc-exceptions-seh.mm (NFC) (authored by sgraenitz).
Changed prior to commit: https://reviews.llvm.org/D137942?vs=475127&id=477140#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137942/new/ https://reviews.llvm.org/D137942 Files: clang/test/CodeGenObjCXX/arc-exceptions-seh.mm Index: clang/test/CodeGenObjCXX/arc-exceptions-seh.mm =================================================================== --- clang/test/CodeGenObjCXX/arc-exceptions-seh.mm +++ clang/test/CodeGenObjCXX/arc-exceptions-seh.mm @@ -1,4 +1,5 @@ -// 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 +// 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 +// 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 // WinEH requires funclet tokens on nounwind intrinsics if they can lower to // regular function calls in the course of IR transformations. @@ -40,18 +41,21 @@ // CHECK: [ "funclet"(token [[CATCHPAD]]) ] // CHECK: unwind label %[[CLEANUP2]] // CHECK: call -// CHECK: @llvm.objc.storeStrong +// CHECK-O0: @llvm.objc.storeStrong +// CHECK-O2: @llvm.objc.release // CHECK: [ "funclet"(token [[CATCHPAD]]) ] -// CHECK: catchret from [[CATCHPAD]] to label %catchret.dest +// CHECK-O0: catchret from [[CATCHPAD]] to label %catchret.dest +// CHECK-O2: catchret from [[CATCHPAD]] to label %eh.cont // -// This block exists and it's empty: -// CHECK: catchret.dest: -// CHECK-NEXT: br label %eh.cont +// In debug mode, this block exists and it's empty: +// CHECK-O0: catchret.dest: +// CHECK-O0-NEXT: br label %eh.cont // // CHECK: [[CLEANUP2]]: // CHECK-NEXT: [[CLEANUPPAD2:%[0-9]+]] = cleanuppad within [[CATCHPAD]] // CHECK: call -// CHECK: @llvm.objc.storeStrong +// CHECK-O0: @llvm.objc.storeStrong +// CHECK-O2: @llvm.objc.release // CHECK: [ "funclet"(token [[CLEANUPPAD2]]) ] // CHECK: cleanupret from [[CLEANUPPAD2]] // CHECK: unwind label %[[CLEANUP1]] @@ -59,6 +63,7 @@ // CHECK: [[CLEANUP1]]: // CHECK-NEXT: [[CLEANUPPAD1:%[0-9]+]] = cleanuppad within none // CHECK: call -// CHECK: @llvm.objc.storeStrong +// CHECK-O0: @llvm.objc.storeStrong +// CHECK-O2: @llvm.objc.release // CHECK: [ "funclet"(token [[CLEANUPPAD1]]) ] // CHECK: cleanupret from [[CLEANUPPAD1]] unwind to caller
Index: clang/test/CodeGenObjCXX/arc-exceptions-seh.mm =================================================================== --- clang/test/CodeGenObjCXX/arc-exceptions-seh.mm +++ clang/test/CodeGenObjCXX/arc-exceptions-seh.mm @@ -1,4 +1,5 @@ -// 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 +// 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 +// 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 // WinEH requires funclet tokens on nounwind intrinsics if they can lower to // regular function calls in the course of IR transformations. @@ -40,18 +41,21 @@ // CHECK: [ "funclet"(token [[CATCHPAD]]) ] // CHECK: unwind label %[[CLEANUP2]] // CHECK: call -// CHECK: @llvm.objc.storeStrong +// CHECK-O0: @llvm.objc.storeStrong +// CHECK-O2: @llvm.objc.release // CHECK: [ "funclet"(token [[CATCHPAD]]) ] -// CHECK: catchret from [[CATCHPAD]] to label %catchret.dest +// CHECK-O0: catchret from [[CATCHPAD]] to label %catchret.dest +// CHECK-O2: catchret from [[CATCHPAD]] to label %eh.cont // -// This block exists and it's empty: -// CHECK: catchret.dest: -// CHECK-NEXT: br label %eh.cont +// In debug mode, this block exists and it's empty: +// CHECK-O0: catchret.dest: +// CHECK-O0-NEXT: br label %eh.cont // // CHECK: [[CLEANUP2]]: // CHECK-NEXT: [[CLEANUPPAD2:%[0-9]+]] = cleanuppad within [[CATCHPAD]] // CHECK: call -// CHECK: @llvm.objc.storeStrong +// CHECK-O0: @llvm.objc.storeStrong +// CHECK-O2: @llvm.objc.release // CHECK: [ "funclet"(token [[CLEANUPPAD2]]) ] // CHECK: cleanupret from [[CLEANUPPAD2]] // CHECK: unwind label %[[CLEANUP1]] @@ -59,6 +63,7 @@ // CHECK: [[CLEANUP1]]: // CHECK-NEXT: [[CLEANUPPAD1:%[0-9]+]] = cleanuppad within none // CHECK: call -// CHECK: @llvm.objc.storeStrong +// CHECK-O0: @llvm.objc.storeStrong +// CHECK-O2: @llvm.objc.release // CHECK: [ "funclet"(token [[CLEANUPPAD1]]) ] // CHECK: cleanupret from [[CLEANUPPAD1]] unwind to caller
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits