xref: /llvm-project/llvm/test/Transforms/GlobalOpt/dead-constant-user.ll (revision deab451e7a7f2dff42097049274637052c87eabd)
1236fbf57SNikita Popov; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2*deab451eSNikita Popov; RUN: opt -S -passes='function(instsimplify),globalopt' < %s | FileCheck %s
3*deab451eSNikita Popov; RUN: opt -S -passes='function(instsimplify)' < %s | opt -S -passes=globalopt | FileCheck %s
4236fbf57SNikita Popov
5d586bd5cSNikita Popov@g = internal global [6 x ptr] undef
6236fbf57SNikita Popov
7236fbf57SNikita Popovdefine void @test1() {
8236fbf57SNikita Popov; CHECK-LABEL: @test1(
9236fbf57SNikita Popov; CHECK-NEXT:    ret void
10236fbf57SNikita Popov;
11*deab451eSNikita Popov  %cmp = icmp ne ptr getelementptr (i8, ptr @g, i64 3), null
12*deab451eSNikita Popov  %add = add i1 %cmp, 1
13*deab451eSNikita Popov  %xor4 = xor i1 %add, 0
14d586bd5cSNikita Popov  %t0 = load ptr, ptr getelementptr (i8, ptr @g, i64 3), align 1
15d586bd5cSNikita Popov  %t1 = load i16, ptr %t0, align 1
16236fbf57SNikita Popov  ret void
17236fbf57SNikita Popov}
18236fbf57SNikita Popov
19236fbf57SNikita Popovdefine void @test2() {
20236fbf57SNikita Popov; CHECK-LABEL: @test2(
21236fbf57SNikita Popov; CHECK-NEXT:    ret void
22236fbf57SNikita Popov;
23d586bd5cSNikita Popov  store ptr null, ptr getelementptr inbounds ([6 x ptr], ptr @g, i32 0, i32 5)
24236fbf57SNikita Popov  ret void
25236fbf57SNikita Popov}
26