OLD | NEW |
(Empty) | |
| 1 ; Tests that forward (relocation) reference to a global works. |
| 2 |
| 3 ; RUN: llvm-as < %s | pnacl-freeze | pnacl-bccompress --remove-abbreviations \ |
| 4 ; RUN: | pnacl-bcdis | FileCheck %s |
| 5 |
| 6 ; CHECK: 0:0|<65532, 80, 69, 88, 69, 1, 0,|Magic Number: 'PEXE' (80,
69, 88, 69) |
| 7 ; CHECK-NEXT: | 8, 0, 17, 0, 4, 0, 2, 0, 0, |PNaCl Version: 2 |
| 8 ; CHECK-NEXT: | 0> | |
| 9 ; CHECK-NEXT: 16:0|1: <65535, 8, 2> |module { // BlockID = 8 |
| 10 ; CHECK-NEXT: 24:0| 3: <1, 1> | version 1; |
| 11 ; CHECK-NEXT: 26:4| 1: <65535, 0, 2> | abbreviations { // Bloc
kID = 0 |
| 12 ; CHECK-NEXT: 36:0| 0: <65534> | } |
| 13 ; CHECK-NEXT: 40:0| 1: <65535, 17, 2> | types { // BlockID = 17 |
| 14 ; CHECK-NEXT: 48:0| 3: <1, 2> | count 2; |
| 15 ; CHECK-NEXT: 50:4| 3: <2> | @t0 = void; |
| 16 ; CHECK-NEXT: 52:2| 3: <21, 0, 0> | @t1 = void (); |
| 17 ; CHECK-NEXT: 55:4| 0: <65534> | } |
| 18 |
| 19 declare void @f0() |
| 20 |
| 21 ; CHECK-NEXT: 56:0| 3: <8, 1, 0, 1, 0> | declare external void @f
0(); |
| 22 ; CHECK-NEXT: 60:6| 1: <65535, 19, 2> | globals { // BlockID =
19 |
| 23 ; CHECK-NEXT: 68:0| 3: <5, 2> | count 2; |
| 24 |
| 25 @g0 = internal global <{ i32 , i32 , i32 }> |
| 26 <{ i32 ptrtoint (void ()* @f0 to i32), |
| 27 i32 ptrtoint (<{ i32 , i32 , i32 }>* @g0 to i32), |
| 28 i32 ptrtoint ([4 x i8]* @g1 to i32) ; forward reference! |
| 29 }>, align 1 |
| 30 |
| 31 ; CHECK-NEXT: 70:4| 3: <0, 1, 0> | var @g0, align 1, |
| 32 ; CHECK-NEXT: 73:6| 3: <1, 3> | initializers 3 { |
| 33 ; CHECK-NEXT: 76:2| 3: <4, 0> | reloc @f0; |
| 34 ; CHECK-NEXT: 78:6| 3: <4, 1> | reloc @g0; |
| 35 ; CHECK-NEXT: 81:2| 3: <4, 2> | reloc @g1; |
| 36 ; CHECK-NEXT: | | } |
| 37 |
| 38 @g1 = internal global [4 x i8] zeroinitializer, align 4 |
| 39 |
| 40 ; CHECK-NEXT: 83:6| 3: <0, 3, 0> | var @g1, align 4, |
| 41 ; CHECK-NEXT: 87:0| 3: <2, 4> | zerofill 4; |
| 42 ; CHECK-NEXT: 89:4| 0: <65534> | } |
| 43 ; CHECK-NEXT: 92:0| 1: <65535, 14, 2> | valuesymtab { // BlockI
D = 14 |
| 44 ; CHECK-NEXT: 100:0| 3: <1, 0, 102, 48> | @f0 : "f0"; |
| 45 ; CHECK-NEXT: 105:4| 3: <1, 1, 103, 48> | @g0 : "g0"; |
| 46 ; CHECK-NEXT: 111:0| 3: <1, 2, 103, 49> | @g1 : "g1"; |
| 47 ; CHECK-NEXT: 116:4| 0: <65534> | } |
| 48 ; CHECK-NEXT: 120:0|0: <65534> |} |
OLD | NEW |