diff test/Analysis/BasicAA/tailcall-modref.ll @ 0:95c75e76d11b LLVM3.4

LLVM 3.4
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Thu, 12 Dec 2013 13:56:28 +0900
parents
children afa8332a0e37
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/Analysis/BasicAA/tailcall-modref.ll	Thu Dec 12 13:56:28 2013 +0900
@@ -0,0 +1,16 @@
+; RUN: opt < %s -basicaa -gvn -instcombine -S | FileCheck %s
+
+define i32 @test() {
+; CHECK: ret i32 0
+        %A = alloca i32         ; <i32*> [#uses=3]
+        call void @foo( i32* %A )
+        %X = load i32* %A               ; <i32> [#uses=1]
+        tail call void @bar( )
+        %Y = load i32* %A               ; <i32> [#uses=1]
+        %Z = sub i32 %X, %Y             ; <i32> [#uses=1]
+        ret i32 %Z
+}
+
+declare void @foo(i32*)
+
+declare void @bar()