Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / Transforms / InstSimplify / gv-alloca-cmp.ll
blob4f2544052b2153580db6159d1179d3c7eb5480ac
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
2 ; RUN: opt < %s -passes=instsimplify -S | FileCheck %s
4 @gv = global i64 zeroinitializer, align 16
6 define i1 @cmp_gv_alloca() {
7 ; CHECK-LABEL: define i1 @cmp_gv_alloca() {
8 ; CHECK-NEXT:    ret i1 false
10   %alloca = alloca i64, align 8
11   %cmp = icmp eq ptr %alloca, @gv
12   ret i1 %cmp
15 @gv_externally_init = externally_initialized global i64 zeroinitializer, align 16
17 define i1 @cmp_gv_alloca_extern_init() {
18 ; CHECK-LABEL: define i1 @cmp_gv_alloca_extern_init() {
19 ; CHECK-NEXT:    ret i1 false
21   %alloca = alloca i64, align 8
22   %cmp = icmp eq ptr %alloca, @gv_externally_init
23   ret i1 %cmp
26 @const_gv = protected addrspace(4) externally_initialized global [4096 x i64] zeroinitializer, align 16
27 define i1 @cmp_gv_alloca_cast() {
28 ; CHECK-LABEL: define i1 @cmp_gv_alloca_cast() {
29 ; CHECK-NEXT:    ret i1 false
31   %alloca = alloca i64, align 8, addrspace(5)
32   %cast.alloca = addrspacecast ptr addrspace(5) %alloca to ptr
33   %cmp = icmp eq ptr %cast.alloca, addrspacecast (ptr addrspace(4) @const_gv to ptr)
34   ret i1 %cmp
37 @gv_weak = weak global i64 zeroinitializer, align 16
39 define i1 @cmp_gv_weak_alloca() {
40 ; CHECK-LABEL: define i1 @cmp_gv_weak_alloca() {
41 ; CHECK-NEXT:    ret i1 false
43   %alloca = alloca i64, align 8
44   %cmp = icmp eq ptr %alloca, @gv_weak
45   ret i1 %cmp
48 %opaque = type opaque
49 @gv_unsized = weak global %opaque zeroinitializer, align 16
51 define i1 @cmp_gv_unsized_alloca() {
52 ; CHECK-LABEL: define i1 @cmp_gv_unsized_alloca() {
53 ; CHECK-NEXT:    [[ALLOCA:%.*]] = alloca i64, align 8
54 ; CHECK-NEXT:    [[CMP:%.*]] = icmp eq ptr [[ALLOCA]], @gv_unsized
55 ; CHECK-NEXT:    ret i1 [[CMP]]
57   %alloca = alloca i64, align 8
58   %cmp = icmp eq ptr %alloca, @gv_unsized
59   ret i1 %cmp