Reid Spencer | 4b3fd6c | 2007-04-14 19:27:03 +0000 | [diff] [blame] | 1 | ; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine |\ |
2 | ; RUN: llvm-dis | grep {ret i32 0} | ||||
Chris Lattner | 20fad44 | 2005-05-08 23:57:34 +0000 | [diff] [blame] | 3 | declare void %foo(int*) |
4 | declare void %bar() | ||||
5 | |||||
6 | int %test() { | ||||
7 | %A = alloca int | ||||
8 | call void %foo(int* %A) | ||||
9 | |||||
10 | %X = load int* %A | ||||
11 | tail call void %bar() ;; Cannot modify *%A because it's on the stack. | ||||
12 | %Y = load int* %A | ||||
13 | %Z = sub int %X, %Y | ||||
14 | ret int %Z | ||||
15 | } | ||||
16 | |||||
17 |