blob: ebeb28c11310c09f0e3d2302b56577caf66cd4cf [file] [log] [blame]
Bill Wendlingd5cc8b82012-04-24 09:15:38 +00001; RUN: opt < %s -basicaa -gvn -instcombine -S | FileCheck %s
Tanya Lattnerdcd188d2008-02-14 06:56:27 +00002
3define i32 @test() {
Bill Wendlingd5cc8b82012-04-24 09:15:38 +00004; CHECK: ret i32 0
Tanya Lattnerdcd188d2008-02-14 06:56:27 +00005 %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 Lattner20fad442005-05-08 23:57:34 +000012}
Bill Wendlingd5cc8b82012-04-24 09:15:38 +000013
14declare void @foo(i32*)
15
16declare void @bar()