blob: 168b640c9e759b95085d26a2c7f5d0a6a96e5fe2 [file] [log] [blame]
Reid Spencer69ccadd2006-12-02 04:23:10 +00001; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep sub
Chris Lattnerffdc4ff2004-04-11 16:47:15 +00002
Chris Lattner4a1f2e32004-04-11 19:01:35 +00003%S = type { int, sbyte }
4
Chris Lattnerffdc4ff2004-04-11 16:47:15 +00005sbyte %test(sbyte** %P) {
6 %A = load sbyte** %P
7 %B = load sbyte* %A
8
9 %X = load sbyte** %P
10 %Y = load sbyte* %X
11
12 %R = sub sbyte %B, %Y
13 ret sbyte %R
14}
Chris Lattner4a1f2e32004-04-11 19:01:35 +000015
16sbyte %test(%S ** %P) {
17 %A = load %S** %P
Reid Spencere5d4efa2006-11-23 15:14:52 +000018 %B = getelementptr %S* %A, int 0, uint 1
Chris Lattner4a1f2e32004-04-11 19:01:35 +000019 %C = load sbyte* %B
20
21 %X = load %S** %P
Reid Spencere5d4efa2006-11-23 15:14:52 +000022 %Y = getelementptr %S* %X, int 0, uint 1
Chris Lattner4a1f2e32004-04-11 19:01:35 +000023 %Z = load sbyte* %Y
24
25 %R = sub sbyte %C, %Z
26 ret sbyte %R
27}