Revert "[InstCombine] Support gep nuw in icmp folds" (#118698)
[llvm-project.git] / llvm / test / Transforms / DeadStoreElimination / const-pointers.ll
blobd47778590d6b17a869ecd8fdcd094de543654954
1 ; RUN: opt -passes=dse -S < %s | FileCheck %s
2 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
4 %t = type { i32 }
6 @g = global i32 42
8 define void @test1(ptr noalias %pp) {
10   store i32 1, ptr %pp; <-- This is dead
11   %x = load i32, ptr inttoptr (i32 12345 to ptr)
12   store i32 %x, ptr %pp
13   ret void
14 ; CHECK-LABEL: define void @test1(
15 ; CHECK: store
16 ; CHECK-NOT: store
17 ; CHECK: ret void
20 define void @test3() {
21   store i32 1, ptr @g; <-- This is dead.
22   store i32 42, ptr @g
23   ret void
24 ; CHECK-LABEL: define void @test3(
25 ; CHECK: store
26 ; CHECK-NOT: store
27 ; CHECK: ret void
30 define void @test4(ptr %p) {
31   store i32 1, ptr %p
32   %x = load i32, ptr @g; <-- %p and @g could alias
33   store i32 %x, ptr %p
34   ret void
35 ; CHECK-LABEL: define void @test4(
36 ; CHECK: store
37 ; CHECK: store
38 ; CHECK: ret void