summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/conditional-temporaries.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CodeGenCXX/conditional-temporaries.cpp')
-rw-r--r--clang/test/CodeGenCXX/conditional-temporaries.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/clang/test/CodeGenCXX/conditional-temporaries.cpp b/clang/test/CodeGenCXX/conditional-temporaries.cpp
index 48c91178826..c0a122ad1b2 100644
--- a/clang/test/CodeGenCXX/conditional-temporaries.cpp
+++ b/clang/test/CodeGenCXX/conditional-temporaries.cpp
@@ -1,7 +1,10 @@
// REQUIRES: amdgpu-registered-target
-// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-apple-darwin9 -O2 -disable-llvm-passes | FileCheck %s --check-prefixes=CHECK,CHECK-NOOPT
-// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-apple-darwin9 -O2 | FileCheck %s --check-prefixes=CHECK,CHECK-OPT
-// RUN: %clang_cc1 -emit-llvm %s -o - -triple=amdgcn-amd-amdhsa -O2 | FileCheck %s --check-prefixes=CHECK,CHECK-OPT
+// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-apple-darwin9 -O2 -fno-experimental-new-pass-manager -disable-llvm-passes | FileCheck %s --check-prefixes=CHECK,CHECK-NOOPT
+// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-apple-darwin9 -O2 -fno-experimental-new-pass-manager | FileCheck %s --check-prefixes=CHECK,CHECK-OPT,CHECK-LEGACY-OPT
+// RUN: %clang_cc1 -emit-llvm %s -o - -triple=amdgcn-amd-amdhsa -O2 -fno-experimental-new-pass-manager | FileCheck %s --check-prefixes=CHECK,CHECK-OPT,CHECK-LEGACY-OPT
+// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-apple-darwin9 -O2 -fexperimental-new-pass-manager -disable-llvm-passes | FileCheck %s --check-prefixes=CHECK,CHECK-NOOPT
+// RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-apple-darwin9 -O2 -fexperimental-new-pass-manager | FileCheck %s --check-prefixes=CHECK,CHECK-OPT,X64-NEWPM-OPT
+// RUN: %clang_cc1 -emit-llvm %s -o - -triple=amdgcn-amd-amdhsa -O2 -fexperimental-new-pass-manager | FileCheck %s --check-prefixes=CHECK,CHECK-OPT,CHECK-OPT-NEWPM,AMDGCN-NEWPM-OPT
namespace {
@@ -41,19 +44,30 @@ Checker c;
// CHECK-OPT-LABEL: define i32 @_Z12getCtorCallsv()
int getCtorCalls() {
- // CHECK-OPT: ret i32 5
+ // CHECK-LEGACY-OPT: ret i32 5
+ // X64-NEWPM-OPT: ret i32 5
+ // AMDGCN-NEWPM-OPT: [[RET:%.*]] = load i32, i32* addrspacecast (i32 addrspace(1)* @_ZN12_GLOBAL__N_19ctorcallsE to i32*), align 4
+ // AMDGCN-NEWPM-OPT: ret i32 [[RET]]
return ctorcalls;
}
// CHECK-OPT-LABEL: define i32 @_Z12getDtorCallsv()
int getDtorCalls() {
- // CHECK-OPT: ret i32 5
+ // CHECK-LEGACY-OPT: ret i32 5
+ // X64-NEWPM-OPT: ret i32 5
+ // AMDGCN-NEWPM-OPT: [[RET:%.*]] = load i32, i32* addrspacecast (i32 addrspace(1)* @_ZN12_GLOBAL__N_19dtorcallsE to i32*), align 4
+ // AMDGCN-NEWPM-OPT: ret i32 [[RET]]
return dtorcalls;
}
// CHECK-OPT-LABEL: define zeroext i1 @_Z7successv()
bool success() {
- // CHECK-OPT: ret i1 true
+ // CHECK-LEGACY-OPT: ret i1 true
+ // X64-NEWPM-OPT: ret i1 true
+ // AMDGCN-NEWPM-OPT: [[CTORS:%.*]] = load i32, i32* addrspacecast (i32 addrspace(1)* @_ZN12_GLOBAL__N_19ctorcallsE to i32*), align 4, !tbaa !2
+ // AMDGCN-NEWPM-OPT: [[DTORS:%.*]] = load i32, i32* addrspacecast (i32 addrspace(1)* @_ZN12_GLOBAL__N_19dtorcallsE to i32*), align 4, !tbaa !2
+ // AMDGCN-NEWPM-OPT: %cmp = icmp eq i32 [[CTORS]], [[DTORS]]
+ // AMDGCN-NEWPM-OPT: ret i1 %cmp
return ctorcalls == dtorcalls;
}
OpenPOWER on IntegriCloud