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 3 4@gv = global i64 zeroinitializer, align 16 5 6define i1 @cmp_gv_alloca() { 7; CHECK-LABEL: define i1 @cmp_gv_alloca() { 8; CHECK-NEXT: ret i1 false 9; 10 %alloca = alloca i64, align 8 11 %cmp = icmp eq ptr %alloca, @gv 12 ret i1 %cmp 13} 14 15@gv_externally_init = externally_initialized global i64 zeroinitializer, align 16 16 17define i1 @cmp_gv_alloca_extern_init() { 18; CHECK-LABEL: define i1 @cmp_gv_alloca_extern_init() { 19; CHECK-NEXT: ret i1 false 20; 21 %alloca = alloca i64, align 8 22 %cmp = icmp eq ptr %alloca, @gv_externally_init 23 ret i1 %cmp 24} 25 26@const_gv = protected addrspace(4) externally_initialized global [4096 x i64] zeroinitializer, align 16 27define i1 @cmp_gv_alloca_cast() { 28; CHECK-LABEL: define i1 @cmp_gv_alloca_cast() { 29; CHECK-NEXT: ret i1 false 30; 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 35} 36 37@gv_weak = weak global i64 zeroinitializer, align 16 38 39define i1 @cmp_gv_weak_alloca() { 40; CHECK-LABEL: define i1 @cmp_gv_weak_alloca() { 41; CHECK-NEXT: ret i1 false 42; 43 %alloca = alloca i64, align 8 44 %cmp = icmp eq ptr %alloca, @gv_weak 45 ret i1 %cmp 46} 47 48%opaque = type opaque 49@gv_unsized = weak global %opaque zeroinitializer, align 16 50 51define 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]] 56; 57 %alloca = alloca i64, align 8 58 %cmp = icmp eq ptr %alloca, @gv_unsized 59 ret i1 %cmp 60} 61