Dan Gohman | 73e6a0a | 2007-12-14 15:15:11 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llvm-dis | grep {addrspace(33)} | count 7 |
| 2 | ; RUN: llvm-as < %s | llvm-dis | grep {addrspace(42)} | count 2 |
| 3 | ; RUN: llvm-as < %s | llvm-dis | grep {addrspace(66)} | count 2 |
| 4 | ; RUN: llvm-as < %s | llvm-dis | grep {addrspace(11)} | count 6 |
| 5 | ; RUN: llvm-as < %s | llvm-dis | grep {addrspace(22)} | count 5 |
Christopher Lamb | 44d62f6 | 2007-12-11 08:59:05 +0000 | [diff] [blame] | 6 | |
| 7 | %struct.mystruct = type { i32, i32 addrspace(33)*, i32, i32 addrspace(33)* } |
Christopher Lamb | 20a39e9 | 2007-12-12 08:44:39 +0000 | [diff] [blame] | 8 | @input = weak global %struct.mystruct zeroinitializer addrspace(42) ; <%struct.mystruct addrspace(42)*> [#uses=1] |
Christopher Lamb | 44d62f6 | 2007-12-11 08:59:05 +0000 | [diff] [blame] | 9 | @output = global %struct.mystruct zeroinitializer addrspace(66) ; <%struct.mystruct addrspace(66)*> [#uses=1] |
Christopher Lamb | 20a39e9 | 2007-12-12 08:44:39 +0000 | [diff] [blame] | 10 | @y = external global i32 addrspace(11)* addrspace(22)* addrspace(33) ; <i32 addrspace(11)* addrspace(22)* addrspace(33)*> [#uses=1] |
Christopher Lamb | 44d62f6 | 2007-12-11 08:59:05 +0000 | [diff] [blame] | 11 | |
| 12 | define void @foo() { |
| 13 | entry: |
| 14 | %tmp1 = load i32 addrspace(33)* addrspace(42)* getelementptr (%struct.mystruct addrspace(42)* @input, i32 0, i32 3), align 4 ; <i32 addrspace(33)*> [#uses=1] |
| 15 | store i32 addrspace(33)* %tmp1, i32 addrspace(33)* addrspace(66)* getelementptr (%struct.mystruct addrspace(66)* @output, i32 0, i32 1), align 4 |
| 16 | ret void |
| 17 | } |
| 18 | |
| 19 | define i32 addrspace(11)* @bar(i32 addrspace(11)* addrspace(22)* addrspace(33)* %x) { |
| 20 | entry: |
| 21 | %tmp1 = load i32 addrspace(11)* addrspace(22)* addrspace(33)* @y, align 4 ; <i32 addrspace(11)* addrspace(22)*> [#uses=2] |
| 22 | store i32 addrspace(11)* addrspace(22)* %tmp1, i32 addrspace(11)* addrspace(22)* addrspace(33)* %x, align 4 |
| 23 | %tmp5 = load i32 addrspace(11)* addrspace(22)* %tmp1, align 4 ; <i32 addrspace(11)*> [#uses=1] |
| 24 | ret i32 addrspace(11)* %tmp5 |
| 25 | } |