blob: 0b7c5eb5bf95561e994348a074f59b463d847b58 [file] [log] [blame]
NAKAMURA Takumi5a495a52012-12-30 00:33:26 +00001; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
Dan Gohmanccb45842009-11-09 19:29:11 +00002
3%t = type { i32 }
4declare void @test1f(i8*)
5
6define void @test1(%t* noalias %stuff ) {
David Blaikie79e6c742015-02-27 19:29:02 +00007 %p = getelementptr inbounds %t, %t* %stuff, i32 0, i32 0
David Blaikiea79ac142015-02-27 21:17:42 +00008 %before = load i32, i32* %p
Dan Gohmanccb45842009-11-09 19:29:11 +00009
10 call void @test1f(i8* null)
11
David Blaikiea79ac142015-02-27 21:17:42 +000012 %after = load i32, i32* %p ; <--- This should be a dead load
Dan Gohmanfb419362010-01-05 17:55:26 +000013 %sum = add i32 %before, %after
Dan Gohmanccb45842009-11-09 19:29:11 +000014
15 store i32 %sum, i32* %p
16 ret void
17; CHECK: load
18; CHECK-NOT: load
19; CHECK: ret void
20}