Bill Wendling | d5cc8b8 | 2012-04-24 09:15:38 +0000 | [diff] [blame^] | 1 | ; RUN: opt < %s -basicaa -gvn -instcombine -S | FileCheck %s |
Tanya Lattner | dcd188d | 2008-02-14 06:56:27 +0000 | [diff] [blame] | 2 | |
| 3 | define i32 @test() { |
Bill Wendling | d5cc8b8 | 2012-04-24 09:15:38 +0000 | [diff] [blame^] | 4 | ; CHECK: ret i32 0 |
Tanya Lattner | dcd188d | 2008-02-14 06:56:27 +0000 | [diff] [blame] | 5 | %A = alloca i32 ; <i32*> [#uses=3] |
| 6 | call void @foo( i32* %A ) |
| 7 | %X = load i32* %A ; <i32> [#uses=1] |
| 8 | tail call void @bar( ) |
| 9 | %Y = load i32* %A ; <i32> [#uses=1] |
| 10 | %Z = sub i32 %X, %Y ; <i32> [#uses=1] |
| 11 | ret i32 %Z |
Chris Lattner | 20fad44 | 2005-05-08 23:57:34 +0000 | [diff] [blame] | 12 | } |
Bill Wendling | d5cc8b8 | 2012-04-24 09:15:38 +0000 | [diff] [blame^] | 13 | |
| 14 | declare void @foo(i32*) |
| 15 | |
| 16 | declare void @bar() |