| NAKAMURA Takumi | 5a495a5 | 2012-12-30 00:33:26 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -basicaa -gvn -S | FileCheck %s | 
| Dan Gohman | ccb4584 | 2009-11-09 19:29:11 +0000 | [diff] [blame] | 2 |  | 
|  | 3 | %t = type { i32 } | 
|  | 4 | declare void @test1f(i8*) | 
|  | 5 |  | 
|  | 6 | define void @test1(%t* noalias %stuff ) { | 
| David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 7 | %p = getelementptr inbounds %t, %t* %stuff, i32 0, i32 0 | 
| David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 8 | %before = load i32, i32* %p | 
| Dan Gohman | ccb4584 | 2009-11-09 19:29:11 +0000 | [diff] [blame] | 9 |  | 
|  | 10 | call void @test1f(i8* null) | 
|  | 11 |  | 
| David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 12 | %after = load i32, i32* %p ; <--- This should be a dead load | 
| Dan Gohman | fb41936 | 2010-01-05 17:55:26 +0000 | [diff] [blame] | 13 | %sum = add i32 %before, %after | 
| Dan Gohman | ccb4584 | 2009-11-09 19:29:11 +0000 | [diff] [blame] | 14 |  | 
|  | 15 | store i32 %sum, i32* %p | 
|  | 16 | ret void | 
|  | 17 | ; CHECK: load | 
|  | 18 | ; CHECK-NOT: load | 
|  | 19 | ; CHECK: ret void | 
|  | 20 | } |