OLD | NEW |
(Empty) | |
| 1 ; Simple test to see if we handle global variables. |
| 2 |
| 3 ; RUN: llvm-as < %s | pnacl-freeze | pnacl-bcdis | FileCheck %s |
| 4 |
| 5 |
| 6 @zero = internal global [4 x i8] zeroinitializer, align 4 |
| 7 @bytes = internal global [7 x i8] c"abcdefg" |
| 8 @ptr_to_ptr = internal global i32 ptrtoint (i32* @ptr to i32) |
| 9 @ptr_to_func = internal global i32 ptrtoint (void ()* @func to i32) |
| 10 @compound = internal global <{ [3 x i8], i32 }> <{ [3 x i8] c"foo", i32 ptrtoint
(void ()* @func to i32) }> |
| 11 @ptr = internal global i32 ptrtoint ([7 x i8]* @bytes to i32) |
| 12 @addend_ptr = internal global i32 add (i32 ptrtoint (i32* @ptr to i32), i32 1) |
| 13 @addend_array1 = internal global i32 add (i32 ptrtoint ([7 x i8]* @bytes to i32)
, i32 1) |
| 14 @addend_array2 = internal global i32 add (i32 ptrtoint ([7 x i8]* @bytes to i32)
, i32 7) |
| 15 @addend_array3 = internal global i32 add (i32 ptrtoint ([7 x i8]* @bytes to i32)
, i32 9) |
| 16 @addend_struct1 = internal global i32 add (i32 ptrtoint (<{ [3 x i8], i32 }>* @c
ompound to i32), i32 1) |
| 17 @addend_struct2 = internal global i32 add (i32 ptrtoint (<{ [3 x i8], i32 }>* @c
ompound to i32), i32 4) |
| 18 |
| 19 declare void @func(); |
| 20 |
| 21 ; CHECK: 0:0|<65532, 80, 69, 88, 69, 1, 0,|Magic Number: 'PEXE' (80,
69, 88, 69) |
| 22 ; CHECK-NEXT: | 8, 0, 17, 0, 4, 0, 2, 0, 0, |PNaCl Version: 2 |
| 23 ; CHECK-NEXT: | 0> | |
| 24 ; CHECK-NEXT: 16:0|1: <65535, 8, 2> |module { // BlockID = 8 |
| 25 ; CHECK-NEXT: 24:0| 3: <1, 1> | version 1; |
| 26 ; CHECK-NEXT: 26:4| 1: <65535, 0, 2> | abbreviations { // Bloc
kID = 0 |
| 27 ; CHECK-NEXT: 36:0| 1: <1, 14> | valuesymtab: |
| 28 ; CHECK-NEXT: 38:4| 2: <65533, 4, 0, 1, 3, 0,| @a0 = abbrev <fixed(
3), vbr(8), |
| 29 ; CHECK-NEXT: | 2, 8, 0, 3, 0, 1, 8> | array(f
ixed(8))>; |
| 30 ; CHECK-NEXT: 43:2| 2: <65533, 4, 1, 1, 0, 2,| @a1 = abbrev <1, vbr
(8), |
| 31 ; CHECK-NEXT: | 8, 0, 3, 0, 1, 7> | array(f
ixed(7))>; |
| 32 ; CHECK-NEXT: 48:0| 2: <65533, 4, 1, 1, 0, 2,| @a2 = abbrev <1, vbr
(8), |
| 33 ; CHECK-NEXT: | 8, 0, 3, 0, 4> | array(c
har6)>; |
| 34 ; CHECK-NEXT: 52:1| 2: <65533, 4, 1, 2, 0, 2,| @a3 = abbrev <2, vbr
(8), |
| 35 ; CHECK-NEXT: | 8, 0, 3, 0, 4> | array(c
har6)>; |
| 36 ; CHECK-NEXT: 56:2| 1: <1, 11> | constants: |
| 37 ; CHECK-NEXT: 58:6| 2: <65533, 2, 1, 1, 0, 1,| @a0 = abbrev <1, fix
ed(2)>; |
| 38 ; CHECK-NEXT: | 2> | |
| 39 ; CHECK-NEXT: 61:7| 2: <65533, 2, 1, 4, 0, 2,| @a1 = abbrev <4, vbr
(8)>; |
| 40 ; CHECK-NEXT: | 8> | |
| 41 ; CHECK-NEXT: 65:0| 2: <65533, 2, 1, 4, 1, 0>| @a2 = abbrev <4, 0>; |
| 42 ; CHECK-NEXT: 68:1| 2: <65533, 2, 1, 6, 0, 2,| @a3 = abbrev <6, vbr
(8)>; |
| 43 ; CHECK-NEXT: | 8> | |
| 44 ; CHECK-NEXT: 71:2| 1: <1, 12> | function: |
| 45 ; CHECK-NEXT: 73:6| 2: <65533, 4, 1, 20, 0, | @a0 = abbrev <20, vb
r(6), vbr(4), |
| 46 ; CHECK-NEXT: | 2, 6, 0, 2, 4, 0, 2, | vbr(4)>
; |
| 47 ; CHECK-NEXT: | 4> | |
| 48 ; CHECK-NEXT: 79:1| 2: <65533, 4, 1, 2, 0, 2,| @a1 = abbrev <2, vbr
(6), vbr(6), |
| 49 ; CHECK-NEXT: | 6, 0, 2, 6, 0, 1, 4> | fixed(4
)>; |
| 50 ; CHECK-NEXT: 84:4| 2: <65533, 4, 1, 3, 0, 2,| @a2 = abbrev <3, vbr
(6), |
| 51 ; CHECK-NEXT: | 6, 0, 1, 2, 0, 1, 4> | fixed(2
), fixed(4)>; |
| 52 ; CHECK-NEXT: 89:7| 2: <65533, 1, 1, 10> | @a3 = abbrev <10>; |
| 53 ; CHECK-NEXT: 91:7| 2: <65533, 2, 1, 10, 0, | @a4 = abbrev <10, vb
r(6)>; |
| 54 ; CHECK-NEXT: | 2, 6> | |
| 55 ; CHECK-NEXT: 95:0| 2: <65533, 1, 1, 15> | @a5 = abbrev <15>; |
| 56 ; CHECK-NEXT: 97:0| 2: <65533, 3, 1, 43, 0, | @a6 = abbrev <43, vb
r(6), |
| 57 ; CHECK-NEXT: | 2, 6, 0, 1, 2> | fixed(2
)>; |
| 58 ; CHECK-NEXT: 101:2| 2: <65533, 4, 1, 24, 0, | @a7 = abbrev <24, vb
r(6), vbr(6), |
| 59 ; CHECK-NEXT: | 2, 6, 0, 2, 6, 0, 2, | vbr(4)>
; |
| 60 ; CHECK-NEXT: | 4> | |
| 61 ; CHECK-NEXT: 106:5| 1: <1, 19> | globals: |
| 62 ; CHECK-NEXT: 109:1| 2: <65533, 3, 1, 0, 0, 2,| @a0 = abbrev <0, vbr
(6), |
| 63 ; CHECK-NEXT: | 6, 0, 1, 1> | fixed(1
)>; |
| 64 ; CHECK-NEXT: 113:3| 2: <65533, 2, 1, 1, 0, 2,| @a1 = abbrev <1, vbr
(8)>; |
| 65 ; CHECK-NEXT: | 8> | |
| 66 ; CHECK-NEXT: 116:4| 2: <65533, 2, 1, 2, 0, 2,| @a2 = abbrev <2, vbr
(8)>; |
| 67 ; CHECK-NEXT: | 8> | |
| 68 ; CHECK-NEXT: 119:5| 2: <65533, 3, 1, 3, 0, 3,| @a3 = abbrev <3, arr
ay(fixed(8))> |
| 69 ; CHECK-NEXT: | 0, 1, 8> | ; |
| 70 ; CHECK-NEXT: 123:2| 2: <65533, 2, 1, 4, 0, 2,| @a4 = abbrev <4, vbr
(6)>; |
| 71 ; CHECK-NEXT: | 6> | |
| 72 ; CHECK-NEXT: 126:3| 2: <65533, 3, 1, 4, 0, 2,| @a5 = abbrev <4, vbr
(6), vbr(6)>; |
| 73 ; CHECK-NEXT: | 6, 0, 2, 6> | |
| 74 ; CHECK-NEXT: 130:5| 0: <65534> | } |
| 75 ; CHECK-NEXT: 132:0| 1: <65535, 17, 3> | types { // BlockID = 17 |
| 76 ; CHECK-NEXT: 140:0| 2: <65533, 4, 1, 21, 0, | %a0 = abbrev <21, fixe
d(1), |
| 77 ; CHECK-NEXT: | 1, 1, 0, 3, 0, 1, 2> | array(fi
xed(2))>; |
| 78 ; CHECK-NEXT: 144:7| 3: <1, 2> | count 2; |
| 79 ; CHECK-NEXT: 147:4| 3: <2> | @t0 = void; |
| 80 ; CHECK-NEXT: 149:3| 4: <21, 0, 0> | @t1 = void (); <%a0> |
| 81 ; CHECK-NEXT: 150:7| 0: <65534> | } |
| 82 ; CHECK-NEXT: 152:0| 3: <8, 1, 0, 1, 0> | declare external void @f
0(); |
| 83 ; CHECK-NEXT: 156:6| 1: <65535, 19, 4> | globals { // BlockID =
19 |
| 84 ; CHECK-NEXT: 164:0| 3: <5, 12> | count 12; |
| 85 ; CHECK-NEXT: 166:6| 4: <0, 3, 0> | var @g0, align 4, <@a0
> |
| 86 ; CHECK-NEXT: 168:1| 6: <2, 4> | zerofill 4; <@a2> |
| 87 ; CHECK-NEXT: 169:5| 4: <0, 0, 0> | var @g1, align 0, <@a0
> |
| 88 ; CHECK-NEXT: 171:0| 7: <3, 97, 98, 99, 100, | { 97, 98, 99, 100,
101, 102, |
| 89 ; CHECK-NEXT: | 101, 102, 103> | 103} <@a3> |
| 90 ; CHECK-NEXT: 179:2| 4: <0, 0, 0> | var @g2, align 0, <@a0
> |
| 91 ; CHECK-NEXT: 180:5| 8: <4, 6> | reloc @g5; <@a4> |
| 92 ; CHECK-NEXT: 181:7| 4: <0, 0, 0> | var @g3, align 0, <@a0
> |
| 93 ; CHECK-NEXT: 183:2| 8: <4, 0> | reloc @f0; <@a4> |
| 94 ; CHECK-NEXT: 184:4| 4: <0, 0, 0> | var @g4, align 0, <@a0
> |
| 95 ; CHECK-NEXT: 185:7| 5: <1, 2> | initializers 2 { <@a
1> |
| 96 ; CHECK-NEXT: 187:3| 7: <3, 102, 111, 111> | {102, 111, 111} <@
a3> |
| 97 ; CHECK-NEXT: 191:5| 8: <4, 0> | reloc @f0; <@a4> |
| 98 ; CHECK-NEXT: | | } |
| 99 ; CHECK-NEXT: 192:7| 4: <0, 0, 0> | var @g5, align 0, <@a0
> |
| 100 ; CHECK-NEXT: 194:2| 8: <4, 2> | reloc @g1; <@a4> |
| 101 ; CHECK-NEXT: 195:4| 4: <0, 0, 0> | var @g6, align 0, <@a0
> |
| 102 ; CHECK-NEXT: 196:7| 9: <4, 6, 1> | reloc @g5 + 1; <@a5> |
| 103 ; CHECK-NEXT: 198:7| 4: <0, 0, 0> | var @g7, align 0, <@a0
> |
| 104 ; CHECK-NEXT: 200:2| 9: <4, 2, 1> | reloc @g1 + 1; <@a5> |
| 105 ; CHECK-NEXT: 202:2| 4: <0, 0, 0> | var @g8, align 0, <@a0
> |
| 106 ; CHECK-NEXT: 203:5| 9: <4, 2, 7> | reloc @g1 + 7; <@a5> |
| 107 ; CHECK-NEXT: 205:5| 4: <0, 0, 0> | var @g9, align 0, <@a0
> |
| 108 ; CHECK-NEXT: 207:0| 9: <4, 2, 9> | reloc @g1 + 9; <@a5> |
| 109 ; CHECK-NEXT: 209:0| 4: <0, 0, 0> | var @g10, align 0, <@a
0> |
| 110 ; CHECK-NEXT: 210:3| 9: <4, 5, 1> | reloc @g4 + 1; <@a5> |
| 111 ; CHECK-NEXT: 212:3| 4: <0, 0, 0> | var @g11, align 0, <@a
0> |
| 112 ; CHECK-NEXT: 213:6| 9: <4, 5, 4> | reloc @g4 + 4; <@a5> |
| 113 ; CHECK-NEXT: 215:6| 0: <65534> | } |
| 114 ; CHECK-NEXT: 220:0| 1: <65535, 14, 3> | valuesymtab { // BlockI
D = 14 |
| 115 ; CHECK-NEXT: 228:0| 6: <1, 1, 122, 101, 114, | @g0 : "zero"; <@a2> |
| 116 ; CHECK-NEXT: | 111> | |
| 117 ; CHECK-NEXT: 233:1| 6: <1, 4, 112, 116, 114, | @g3 : "ptr_to_func"; <
@a2> |
| 118 ; CHECK-NEXT: | 95, 116, 111, 95, | |
| 119 ; CHECK-NEXT: | 102, 117, 110, 99> | |
| 120 ; CHECK-NEXT: 243:4| 6: <1, 5, 99, 111, 109, | @g4 : "compound"; <@a2
> |
| 121 ; CHECK-NEXT: | 112, 111, 117, 110, | |
| 122 ; CHECK-NEXT: | 100> | |
| 123 ; CHECK-NEXT: 251:5| 6: <1, 2, 98, 121, 116, | @g1 : "bytes"; <@a2> |
| 124 ; CHECK-NEXT: | 101, 115> | |
| 125 ; CHECK-NEXT: 257:4| 6: <1, 0, 102, 117, 110, | @f0 : "func"; <@a2> |
| 126 ; CHECK-NEXT: | 99> | |
| 127 ; CHECK-NEXT: 262:5| 6: <1, 3, 112, 116, 114, | @g2 : "ptr_to_ptr"; <@
a2> |
| 128 ; CHECK-NEXT: | 95, 116, 111, 95, | |
| 129 ; CHECK-NEXT: | 112, 116, 114> | |
| 130 ; CHECK-NEXT: 272:2| 6: <1, 8, 97, 100, 100, | @g7 : "addend_array1";
<@a2> |
| 131 ; CHECK-NEXT: | 101, 110, 100, 95, | |
| 132 ; CHECK-NEXT: | 97, 114, 114, 97, | |
| 133 ; CHECK-NEXT: | 121, 49> | |
| 134 ; CHECK-NEXT: 284:1| 6: <1, 9, 97, 100, 100, | @g8 : "addend_array2";
<@a2> |
| 135 ; CHECK-NEXT: | 101, 110, 100, 95, | |
| 136 ; CHECK-NEXT: | 97, 114, 114, 97, | |
| 137 ; CHECK-NEXT: | 121, 50> | |
| 138 ; CHECK-NEXT: 296:0| 6: <1, 10, 97, 100, 100, | @g9 : "addend_array3";
<@a2> |
| 139 ; CHECK-NEXT: | 101, 110, 100, 95, | |
| 140 ; CHECK-NEXT: | 97, 114, 114, 97, | |
| 141 ; CHECK-NEXT: | 121, 51> | |
| 142 ; CHECK-NEXT: 307:7| 6: <1, 7, 97, 100, 100, | @g6 : "addend_ptr"; <@
a2> |
| 143 ; CHECK-NEXT: | 101, 110, 100, 95, | |
| 144 ; CHECK-NEXT: | 112, 116, 114> | |
| 145 ; CHECK-NEXT: 317:4| 6: <1, 11, 97, 100, 100, | @g10 : "addend_struct1
"; <@a2> |
| 146 ; CHECK-NEXT: | 101, 110, 100, 95, | |
| 147 ; CHECK-NEXT: | 115, 116, 114, 117, | |
| 148 ; CHECK-NEXT: | 99, 116, 49> | |
| 149 ; CHECK-NEXT: 330:1| 6: <1, 6, 112, 116, 114> | @g5 : "ptr"; <@a2> |
| 150 ; CHECK-NEXT: 334:4| 6: <1, 12, 97, 100, 100, | @g11 : "addend_struct2
"; <@a2> |
| 151 ; CHECK-NEXT: | 101, 110, 100, 95, | |
| 152 ; CHECK-NEXT: | 115, 116, 114, 117, | |
| 153 ; CHECK-NEXT: | 99, 116, 50> | |
| 154 ; CHECK-NEXT: 347:1| 0: <65534> | } |
| 155 ; CHECK-NEXT: 348:0|0: <65534> |} |
OLD | NEW |