Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / address-type-promotion-constantexpr.ll
blob9b6b482bc9cf917c83a83843524ea4cb9e34e35e
1 ; RUN: llc < %s -mtriple=x86_64-pc-linux
3 ; PR20314 is a crashing bug. This program does nothing with the load, so just check that the return is 0.
5 @c = common global [2 x i32] zeroinitializer, align 4
6 @a = common global i32 0, align 4
7 @b = internal unnamed_addr constant [2 x i8] c"\01\00", align 1
9 ; CHECK-LABEL: main
10 ; CHECK: xor %eax, %eax
11 define i32 @main() {
12 entry:
13   %or = or i8 zext (i1 icmp eq (ptr getelementptr inbounds ([2 x i32], ptr @c, i64 0, i64 1), ptr @a) to i8), 1
14   %sext = sext i8 %or to i64
15   %gep = getelementptr [2 x i8], ptr @b, i64 0, i64 %sext
16   %foo = load i8, ptr %gep, align 1
17   ret i32 0