blob: 5857e684bc579b27b07a0ef52d5c9af4db536103 [file] [log] [blame]
Bill Wendlingcd6df162012-04-24 09:15:38 +00001; RUN: opt < %s -basicaa -gvn -instcombine -S | FileCheck %s
Tanya Lattnerf865dcd2008-02-14 06:56:27 +00002
3define i32 @test() {
Bill Wendlingcd6df162012-04-24 09:15:38 +00004; CHECK: ret i32 0
Tanya Lattnerf865dcd2008-02-14 06:56:27 +00005 %A = alloca i32 ; <i32*> [#uses=3]
6 call void @foo( i32* %A )
David Blaikiea79ac142015-02-27 21:17:42 +00007 %X = load i32, i32* %A ; <i32> [#uses=1]
Tanya Lattnerf865dcd2008-02-14 06:56:27 +00008 tail call void @bar( )
David Blaikiea79ac142015-02-27 21:17:42 +00009 %Y = load i32, i32* %A ; <i32> [#uses=1]
Tanya Lattnerf865dcd2008-02-14 06:56:27 +000010 %Z = sub i32 %X, %Y ; <i32> [#uses=1]
11 ret i32 %Z
Chris Lattneraf008dc2005-05-08 23:57:34 +000012}
Bill Wendlingcd6df162012-04-24 09:15:38 +000013
14declare void @foo(i32*)
15
16declare void @bar()