Chris Lattner | d45d18d | 2002-07-23 18:27:20 +0000 | [diff] [blame^] | 1 | ; Testcase unanalyzed, not checked in yet. |
| 2 | ; RUN: as < %s | opt -adce |
| 3 | |
| 4 | %FILE = type { [16 x long] } |
| 5 | %arc_t = type { %node_t*, %node_t*, %arc_t*, %arc_t*, long, long, long, long } |
| 6 | %network_t = type { [200 x sbyte], [200 x sbyte], long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, double, long, %node_t*, %node_t*, %arc_t*, %arc_t*, %arc_t*, %arc_t*, long, long, long } |
| 7 | %node_t = type { long, sbyte*, %node_t*, %node_t*, %node_t*, %node_t*, long, long, %arc_t*, %arc_t*, %arc_t*, long, long, long, long } |
| 8 | %struct.__FILE = type { [16 x long] } |
| 9 | %struct.arc = type { %node_t*, %node_t*, %arc_t*, %arc_t*, long, long, long, long } |
| 10 | %struct.network = type { [200 x sbyte], [200 x sbyte], long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, double, long, %node_t*, %node_t*, %arc_t*, %arc_t*, %arc_t*, %arc_t*, long, long, long } |
| 11 | %struct.node = type { long, sbyte*, %node_t*, %node_t*, %node_t*, %node_t*, long, long, %arc_t*, %arc_t*, %arc_t*, long, long, long, long } |
| 12 | %.LC0 = internal global [2 x sbyte] c"r\00" ; <[2 x sbyte]*> [#uses=1] |
| 13 | %.LC1 = internal global [8 x sbyte] c"%ld %ld\00" ; <[8 x sbyte]*> [#uses=1] |
| 14 | %.LC2 = internal global [30 x sbyte] c"read_min(): not enough memory\00" ; <[30 x sbyte]*> [#uses=1] |
| 15 | %.LC3 = internal global [12 x sbyte] c"%ld %ld %ld\00" ; <[12 x sbyte]*> [#uses=1] |
| 16 | |
| 17 | implementation ; Functions: |
| 18 | |
| 19 | long %read_min(%network_t* %net) { |
| 20 | bb0: ;[#uses=0] |
| 21 | %instring = alloca sbyte, uint 201 ; <sbyte*> [#uses=6] |
| 22 | %t = alloca long ; <long*> [#uses=11] |
| 23 | %h = alloca long ; <long*> [#uses=8] |
| 24 | %c = alloca long ; <long*> [#uses=3] |
| 25 | br label %bb1 |
| 26 | |
| 27 | bb1: ;[#uses=1] |
| 28 | %cast518 = getelementptr %network_t* %net, uint 0, ubyte 0, uint 0 ; <sbyte*> [#uses=15] |
| 29 | %cast1028 = getelementptr [2 x sbyte]* %.LC0, uint 0, uint 0 ; <sbyte*> [#uses=1] |
| 30 | %reg520 = call %FILE* %fopen( sbyte* %cast518, sbyte* %cast1028 ) ; <%FILE*> [#uses=5] |
| 31 | %cond522 = setne %FILE* %reg520, null ; <bool> [#uses=1] |
| 32 | br bool %cond522, label %bb3, label %bb2 |
| 33 | |
| 34 | bb2: ;[#uses=1] |
| 35 | ret long -1 |
| 36 | |
| 37 | bb3: ;[#uses=1] |
| 38 | %reg526 = call sbyte* %fgets( sbyte* %instring, int 200, %FILE* %reg520 ) ; <sbyte*> [#uses=0] |
| 39 | %cast1029 = getelementptr [8 x sbyte]* %.LC1, uint 0, uint 0 ; <sbyte*> [#uses=2] |
| 40 | %reg530 = call int (sbyte*, sbyte*, ...)* %sscanf( sbyte* %instring, sbyte* %cast1029, long* %t, long* %h ) ; <int> [#uses=1] |
| 41 | %cond534 = seteq int %reg530, 2 ; <bool> [#uses=1] |
| 42 | br bool %cond534, label %bb5, label %bb4 |
| 43 | |
| 44 | bb4: ;[#uses=1] |
| 45 | ret long -1 |
| 46 | |
| 47 | bb5: ;[#uses=1] |
| 48 | %reg129 = load long* %t, uint 0 ; <long> [#uses=1] |
| 49 | %reg5381 = getelementptr sbyte* %cast518, uint 408 ; <sbyte*> [#uses=1] |
| 50 | %cast540 = cast sbyte* %reg5381 to long* ; <long*> [#uses=12] |
| 51 | store long %reg129, long* %cast540 |
| 52 | %reg130 = load long* %h, uint 0 ; <long> [#uses=1] |
| 53 | %reg5421 = getelementptr sbyte* %cast518, uint 432 ; <sbyte*> [#uses=2] |
| 54 | %cast544 = cast sbyte* %reg5421 to long* ; <long*> [#uses=3] |
| 55 | store long %reg130, long* %cast544 |
| 56 | %reg131 = load long* %t, uint 0 ; <long> [#uses=1] |
| 57 | %reg132 = load long* %t ; <long> [#uses=1] |
| 58 | %reg133 = add long %reg131, %reg132 ; <long> [#uses=1] |
| 59 | %reg134 = add long %reg133, 1 ; <long> [#uses=1] |
| 60 | %reg5481 = getelementptr sbyte* %cast518, uint 400 ; <sbyte*> [#uses=3] |
| 61 | %cast550 = cast sbyte* %reg5481 to long* ; <long*> [#uses=3] |
| 62 | store long %reg134, long* %cast550 |
| 63 | %reg135 = load long* %t, uint 0 ; <long> [#uses=1] |
| 64 | %reg136 = load long* %t ; <long> [#uses=2] |
| 65 | %reg137 = add long %reg135, %reg136 ; <long> [#uses=1] |
| 66 | %reg139 = add long %reg137, %reg136 ; <long> [#uses=1] |
| 67 | %reg140 = load long* %h ; <long> [#uses=1] |
| 68 | %reg141 = add long %reg139, %reg140 ; <long> [#uses=1] |
| 69 | %reg5551 = getelementptr sbyte* %cast518, uint 424 ; <sbyte*> [#uses=3] |
| 70 | %cast557 = cast sbyte* %reg5551 to long* ; <long*> [#uses=1] |
| 71 | store long %reg141, long* %cast557 |
| 72 | %reg5581 = getelementptr sbyte* %cast518, uint 416 ; <sbyte*> [#uses=1] |
| 73 | %cast560 = cast sbyte* %reg5581 to ulong* ; <ulong*> [#uses=2] |
| 74 | store ulong 3014656, ulong* %cast560 |
| 75 | %cast563 = cast sbyte* %reg5481 to ulong* ; <ulong*> [#uses=2] |
| 76 | %reg143 = load ulong* %cast563 ; <ulong> [#uses=1] |
| 77 | %reg144 = add ulong %reg143, 1 ; <ulong> [#uses=1] |
| 78 | %reg566 = call sbyte* %calloc( ulong %reg144, ulong 120 ) ; <sbyte*> [#uses=1] |
| 79 | %reg5681 = getelementptr sbyte* %cast518, uint 536 ; <sbyte*> [#uses=2] |
| 80 | %cast570 = cast sbyte* %reg5681 to sbyte** ; <sbyte**> [#uses=2] |
| 81 | store sbyte* %reg566, sbyte** %cast570 |
| 82 | %reg148 = load ulong* %cast563 ; <ulong> [#uses=1] |
| 83 | %reg575 = call sbyte* %calloc( ulong %reg148, ulong 64 ) ; <sbyte*> [#uses=1] |
| 84 | %reg5771 = getelementptr sbyte* %cast518, uint 568 ; <sbyte*> [#uses=1] |
| 85 | %cast579 = cast sbyte* %reg5771 to sbyte** ; <sbyte**> [#uses=3] |
| 86 | store sbyte* %reg575, sbyte** %cast579 |
| 87 | %reg152 = load ulong* %cast560 ; <ulong> [#uses=1] |
| 88 | %reg584 = call sbyte* %calloc( ulong %reg152, ulong 64 ) ; <sbyte*> [#uses=1] |
| 89 | %reg5861 = getelementptr sbyte* %cast518, uint 552 ; <sbyte*> [#uses=3] |
| 90 | %cast588 = cast sbyte* %reg5861 to sbyte** ; <sbyte**> [#uses=4] |
| 91 | store sbyte* %reg584, sbyte** %cast588 |
| 92 | %reg156 = load sbyte** %cast570 ; <sbyte*> [#uses=2] |
| 93 | %cond592 = seteq sbyte* %reg156, null ; <bool> [#uses=1] |
| 94 | br bool %cond592, label %bb8, label %bb6 |
| 95 | |
| 96 | bb6: ;[#uses=1] |
| 97 | %reg157 = load sbyte** %cast588 ; <sbyte*> [#uses=1] |
| 98 | %cond597 = seteq sbyte* %reg157, null ; <bool> [#uses=1] |
| 99 | br bool %cond597, label %bb8, label %bb7 |
| 100 | |
| 101 | bb7: ;[#uses=1] |
| 102 | %reg158 = load sbyte** %cast579 ; <sbyte*> [#uses=1] |
| 103 | %cond602 = setne sbyte* %reg158, null ; <bool> [#uses=1] |
| 104 | br bool %cond602, label %bb9, label %bb8 |
| 105 | |
| 106 | bb8: ;[#uses=3] |
| 107 | %cast1030 = getelementptr [30 x sbyte]* %.LC2, uint 0, uint 0 ; <sbyte*> [#uses=1] |
| 108 | %reg605 = call int %puts( sbyte* %cast1030 ) ; <int> [#uses=0] |
| 109 | %cast607 = cast sbyte* %cast518 to %network_t* ; <%network_t*> [#uses=1] |
| 110 | %reg607 = call long %getfree( %network_t* %cast607 ) ; <long> [#uses=0] |
| 111 | ret long -1 |
| 112 | |
| 113 | bb9: ;[#uses=4] |
| 114 | %cast611 = cast sbyte* %reg5481 to sbyte** ; <sbyte**> [#uses=2] |
| 115 | %reg162 = load sbyte** %cast611 ; <sbyte*> [#uses=1] |
| 116 | %reg165 = sub sbyte* null, %reg162 ; <sbyte*> [#uses=0] |
| 117 | %reg1701 = getelementptr sbyte* %reg156, uint 120 ; <sbyte*> [#uses=1] |
| 118 | %reg6181 = getelementptr sbyte* %cast518, uint 544 ; <sbyte*> [#uses=1] |
| 119 | %cast620 = cast sbyte* %reg6181 to sbyte** ; <sbyte**> [#uses=1] |
| 120 | store sbyte* %reg1701, sbyte** %cast620 |
| 121 | %cast623 = cast sbyte* %reg5551 to sbyte** ; <sbyte**> [#uses=1] |
| 122 | %reg171 = load sbyte** %cast623 ; <sbyte*> [#uses=0] |
| 123 | %reg175 = load sbyte** %cast588 ; <sbyte*> [#uses=1] |
| 124 | %reg6281 = getelementptr sbyte* %cast518, uint 560 ; <sbyte*> [#uses=2] |
| 125 | %cast630 = cast sbyte* %reg6281 to sbyte** ; <sbyte**> [#uses=3] |
| 126 | store sbyte* %reg175, sbyte** %cast630 |
| 127 | %reg177 = load sbyte** %cast611 ; <sbyte*> [#uses=0] |
| 128 | %reg181 = load sbyte** %cast579 ; <sbyte*> [#uses=1] |
| 129 | %reg6381 = getelementptr sbyte* %cast518, uint 576 ; <sbyte*> [#uses=1] |
| 130 | %cast640 = cast sbyte* %reg6381 to sbyte** ; <sbyte**> [#uses=1] |
| 131 | store sbyte* %reg181, sbyte** %cast640 |
| 132 | %cast643 = cast sbyte* %reg5681 to long* ; <long*> [#uses=1] |
| 133 | %reg117 = load long* %cast643 ; <long> [#uses=10] |
| 134 | %cast646 = cast sbyte* %reg5861 to ulong* ; <ulong*> [#uses=1] |
| 135 | %reg116 = load ulong* %cast646 ; <ulong> [#uses=2] |
| 136 | %reg378 = load long* %cast540 ; <long> [#uses=1] |
| 137 | %cond650 = setlt long %reg378, 1 ; <bool> [#uses=1] |
| 138 | %reg7201 = getelementptr sbyte* %cast518, uint 512 ; <sbyte*> [#uses=2] |
| 139 | %cast722 = cast sbyte* %reg7201 to ulong* ; <ulong*> [#uses=3] |
| 140 | %cast817 = cast sbyte* %reg7201 to long* ; <long*> [#uses=1] |
| 141 | br bool %cond650, label %bb16, label %bb10 |
| 142 | |
| 143 | bb10: ;[#uses=2] |
| 144 | %cann-indvar3 = phi uint [ 0, %bb9 ], [ %add1-indvar3, %bb15 ] ; <uint> [#uses=3] |
| 145 | %add1-indvar3 = add uint %cann-indvar3, 1 ; <uint> [#uses=1] |
| 146 | %cann-indvar3-casted = cast uint %cann-indvar3 to ulong ; <ulong> [#uses=1] |
| 147 | %reg392-scale = mul ulong %cann-indvar3-casted, 192 ; <ulong> [#uses=1] |
| 148 | %reg392 = add ulong %reg392-scale, %reg116 ; <ulong> [#uses=23] |
| 149 | %cann-indvar3-casted1 = cast uint %cann-indvar3 to long ; <long> [#uses=2] |
| 150 | %reg393 = add long %cann-indvar3-casted1, 1 ; <long> [#uses=9] |
| 151 | %reg654 = call sbyte* %fgets( sbyte* %instring, int 200, %FILE* %reg520 ) ; <sbyte*> [#uses=0] |
| 152 | %reg658 = call int (sbyte*, sbyte*, ...)* %sscanf( sbyte* %instring, sbyte* %cast1029, long* %t, long* %h ) ; <int> [#uses=1] |
| 153 | %cond662 = setne int %reg658, 2 ; <bool> [#uses=1] |
| 154 | br bool %cond662, label %bb12, label %bb11 |
| 155 | |
| 156 | bb11: ;[#uses=1] |
| 157 | %reg189 = load long* %t, uint 0 ; <long> [#uses=1] |
| 158 | %reg190 = load long* %h, uint 0 ; <long> [#uses=1] |
| 159 | %cond666 = setle long %reg189, %reg190 ; <bool> [#uses=1] |
| 160 | br bool %cond666, label %bb13, label %bb12 |
| 161 | |
| 162 | bb12: ;[#uses=2] |
| 163 | ret long -1 |
| 164 | |
| 165 | bb13: ;[#uses=2] |
| 166 | %reg194 = shl long %reg393, ubyte 4 ; <long> [#uses=1] |
| 167 | %reg195 = sub long %reg194, %reg393 ; <long> [#uses=1] |
| 168 | %reg196 = shl long %reg195, ubyte 3 ; <long> [#uses=1] |
| 169 | %reg198 = add long %reg117, %reg196 ; <long> [#uses=5] |
| 170 | %reg199 = sub long 0, %reg393 ; <long> [#uses=1] |
| 171 | %cast674 = cast long %reg198 to long* ; <long*> [#uses=1] |
| 172 | store long %reg199, long* %cast674 |
| 173 | %reg677 = add long %reg198, 96 ; <long> [#uses=1] |
| 174 | %cast679 = cast long %reg677 to ulong* ; <ulong*> [#uses=1] |
| 175 | store ulong 18446744073709551615, ulong* %cast679 |
| 176 | %reg207 = load long* %cast540 ; <long> [#uses=1] |
| 177 | %reg208 = add long %reg393, %reg207 ; <long> [#uses=2] |
| 178 | %reg210 = shl long %reg208, ubyte 4 ; <long> [#uses=1] |
| 179 | %reg211 = sub long %reg210, %reg208 ; <long> [#uses=1] |
| 180 | %reg212 = shl long %reg211, ubyte 3 ; <long> [#uses=1] |
| 181 | %reg214 = add long %reg117, %reg212 ; <long> [#uses=1] |
| 182 | %cast685 = cast long %reg214 to long* ; <long*> [#uses=1] |
| 183 | store long %reg393, long* %cast685 |
| 184 | %reg215 = load long* %cast540 ; <long> [#uses=1] |
| 185 | %reg216 = add long %reg393, %reg215 ; <long> [#uses=2] |
| 186 | %reg218 = shl long %reg216, ubyte 4 ; <long> [#uses=1] |
| 187 | %reg219 = sub long %reg218, %reg216 ; <long> [#uses=1] |
| 188 | %reg220 = shl long %reg219, ubyte 3 ; <long> [#uses=1] |
| 189 | %reg222 = add long %reg117, %reg220 ; <long> [#uses=1] |
| 190 | %reg691 = add long %reg222, 96 ; <long> [#uses=1] |
| 191 | %cast693 = cast long %reg691 to ulong* ; <ulong*> [#uses=1] |
| 192 | store ulong 1, ulong* %cast693 |
| 193 | %reg230 = load long* %t, uint 0 ; <long> [#uses=1] |
| 194 | %reg697 = add long %reg198, 112 ; <long> [#uses=1] |
| 195 | %cast699 = cast long %reg697 to long* ; <long*> [#uses=1] |
| 196 | store long %reg230, long* %cast699 |
| 197 | %reg231 = load long* %cast540 ; <long> [#uses=1] |
| 198 | %reg232 = add long %reg393, %reg231 ; <long> [#uses=2] |
| 199 | %reg234 = shl long %reg232, ubyte 4 ; <long> [#uses=1] |
| 200 | %reg235 = sub long %reg234, %reg232 ; <long> [#uses=1] |
| 201 | %reg236 = shl long %reg235, ubyte 3 ; <long> [#uses=1] |
| 202 | %reg238 = add long %reg117, %reg236 ; <long> [#uses=1] |
| 203 | %reg239 = load long* %h, uint 0 ; <long> [#uses=1] |
| 204 | %reg706 = add long %reg238, 112 ; <long> [#uses=1] |
| 205 | %cast708 = cast long %reg706 to long* ; <long*> [#uses=1] |
| 206 | store long %reg239, long* %cast708 |
| 207 | %reg240 = load long* %cast550 ; <long> [#uses=2] |
| 208 | %reg242 = shl long %reg240, ubyte 4 ; <long> [#uses=1] |
| 209 | %reg243 = sub long %reg242, %reg240 ; <long> [#uses=1] |
| 210 | %reg244 = shl long %reg243, ubyte 3 ; <long> [#uses=1] |
| 211 | %reg246 = add long %reg117, %reg244 ; <long> [#uses=1] |
| 212 | %cast714 = cast ulong %reg392 to long* ; <long*> [#uses=1] |
| 213 | store long %reg246, long* %cast714 |
| 214 | %reg717 = add ulong %reg392, 8 ; <ulong> [#uses=3] |
| 215 | %cast719 = cast ulong %reg717 to long* ; <long*> [#uses=1] |
| 216 | store long %reg198, long* %cast719 |
| 217 | %reg253 = load ulong* %cast722 ; <ulong> [#uses=1] |
| 218 | %reg254 = add ulong %reg253, 15 ; <ulong> [#uses=2] |
| 219 | %reg724 = add ulong %reg392, 32 ; <ulong> [#uses=1] |
| 220 | %cast726 = cast ulong %reg724 to ulong* ; <ulong*> [#uses=1] |
| 221 | store ulong %reg254, ulong* %cast726 |
| 222 | %reg727 = add ulong %reg392, 40 ; <ulong> [#uses=1] |
| 223 | %cast729 = cast ulong %reg727 to ulong* ; <ulong*> [#uses=1] |
| 224 | store ulong %reg254, ulong* %cast729 |
| 225 | %cast730 = cast ulong %reg392 to sbyte*** ; <sbyte***> [#uses=1] |
| 226 | %reg256 = load sbyte*** %cast730 ; <sbyte**> [#uses=1] |
| 227 | %reg7311 = getelementptr sbyte** %reg256, uint 9 ; <sbyte**> [#uses=1] |
| 228 | %reg257 = load sbyte** %reg7311 ; <sbyte*> [#uses=1] |
| 229 | %reg734 = add ulong %reg392, 16 ; <ulong> [#uses=1] |
| 230 | %cast736 = cast ulong %reg734 to sbyte** ; <sbyte**> [#uses=1] |
| 231 | store sbyte* %reg257, sbyte** %cast736 |
| 232 | %cast737 = cast ulong %reg392 to ulong** ; <ulong**> [#uses=1] |
| 233 | %reg258 = load ulong** %cast737 ; <ulong*> [#uses=1] |
| 234 | %reg7381 = getelementptr ulong* %reg258, uint 9 ; <ulong*> [#uses=1] |
| 235 | store ulong %reg392, ulong* %reg7381 |
| 236 | %cast743 = cast ulong %reg717 to sbyte*** ; <sbyte***> [#uses=1] |
| 237 | %reg259 = load sbyte*** %cast743 ; <sbyte**> [#uses=1] |
| 238 | %reg7441 = getelementptr sbyte** %reg259, uint 10 ; <sbyte**> [#uses=1] |
| 239 | %reg260 = load sbyte** %reg7441 ; <sbyte*> [#uses=1] |
| 240 | %reg747 = add ulong %reg392, 24 ; <ulong> [#uses=1] |
| 241 | %cast749 = cast ulong %reg747 to sbyte** ; <sbyte**> [#uses=1] |
| 242 | store sbyte* %reg260, sbyte** %cast749 |
| 243 | %cast752 = cast ulong %reg717 to ulong** ; <ulong**> [#uses=1] |
| 244 | %reg261 = load ulong** %cast752 ; <ulong*> [#uses=1] |
| 245 | %reg7531 = getelementptr ulong* %reg261, uint 10 ; <ulong*> [#uses=1] |
| 246 | store ulong %reg392, ulong* %reg7531 |
| 247 | %reg394 = add ulong %reg392, 64 ; <ulong> [#uses=5] |
| 248 | %reg262 = load long* %cast540 ; <long> [#uses=1] |
| 249 | %reg263 = add long %reg393, %reg262 ; <long> [#uses=2] |
| 250 | %reg265 = shl long %reg263, ubyte 4 ; <long> [#uses=1] |
| 251 | %reg266 = sub long %reg265, %reg263 ; <long> [#uses=1] |
| 252 | %reg267 = shl long %reg266, ubyte 3 ; <long> [#uses=1] |
| 253 | %reg269 = add long %reg117, %reg267 ; <long> [#uses=1] |
| 254 | %cast762 = cast ulong %reg394 to long* ; <long*> [#uses=1] |
| 255 | store long %reg269, long* %cast762 |
| 256 | %reg270 = load long* %cast550 ; <long> [#uses=2] |
| 257 | %reg272 = shl long %reg270, ubyte 4 ; <long> [#uses=1] |
| 258 | %reg273 = sub long %reg272, %reg270 ; <long> [#uses=1] |
| 259 | %reg274 = shl long %reg273, ubyte 3 ; <long> [#uses=1] |
| 260 | %reg276 = add long %reg117, %reg274 ; <long> [#uses=1] |
| 261 | %reg768 = add ulong %reg392, 72 ; <ulong> [#uses=3] |
| 262 | %cast770 = cast ulong %reg768 to long* ; <long*> [#uses=1] |
| 263 | store long %reg276, long* %cast770 |
| 264 | %reg771 = add ulong %reg392, 96 ; <ulong> [#uses=1] |
| 265 | %cast773 = cast ulong %reg771 to ulong* ; <ulong*> [#uses=1] |
| 266 | store ulong 15, ulong* %cast773 |
| 267 | %reg774 = add ulong %reg392, 104 ; <ulong> [#uses=1] |
| 268 | %cast776 = cast ulong %reg774 to ulong* ; <ulong*> [#uses=1] |
| 269 | store ulong 15, ulong* %cast776 |
| 270 | %cast777 = cast ulong %reg394 to sbyte*** ; <sbyte***> [#uses=1] |
| 271 | %reg279 = load sbyte*** %cast777 ; <sbyte**> [#uses=1] |
| 272 | %reg7781 = getelementptr sbyte** %reg279, uint 9 ; <sbyte**> [#uses=1] |
| 273 | %reg280 = load sbyte** %reg7781 ; <sbyte*> [#uses=1] |
| 274 | %reg781 = add ulong %reg392, 80 ; <ulong> [#uses=1] |
| 275 | %cast783 = cast ulong %reg781 to sbyte** ; <sbyte**> [#uses=1] |
| 276 | store sbyte* %reg280, sbyte** %cast783 |
| 277 | %cast784 = cast ulong %reg394 to ulong** ; <ulong**> [#uses=1] |
| 278 | %reg281 = load ulong** %cast784 ; <ulong*> [#uses=1] |
| 279 | %reg7851 = getelementptr ulong* %reg281, uint 9 ; <ulong*> [#uses=1] |
| 280 | store ulong %reg394, ulong* %reg7851 |
| 281 | %cast790 = cast ulong %reg768 to sbyte*** ; <sbyte***> [#uses=1] |
| 282 | %reg282 = load sbyte*** %cast790 ; <sbyte**> [#uses=1] |
| 283 | %reg7911 = getelementptr sbyte** %reg282, uint 10 ; <sbyte**> [#uses=1] |
| 284 | %reg283 = load sbyte** %reg7911 ; <sbyte*> [#uses=1] |
| 285 | %reg794 = add ulong %reg392, 88 ; <ulong> [#uses=1] |
| 286 | %cast796 = cast ulong %reg794 to sbyte** ; <sbyte**> [#uses=1] |
| 287 | store sbyte* %reg283, sbyte** %cast796 |
| 288 | %cast799 = cast ulong %reg768 to ulong** ; <ulong**> [#uses=1] |
| 289 | %reg284 = load ulong** %cast799 ; <ulong*> [#uses=1] |
| 290 | %reg8001 = getelementptr ulong* %reg284, uint 10 ; <ulong*> [#uses=1] |
| 291 | store ulong %reg394, ulong* %reg8001 |
| 292 | %reg395 = add ulong %reg392, 128 ; <ulong> [#uses=5] |
| 293 | %cast806 = cast ulong %reg395 to long* ; <long*> [#uses=1] |
| 294 | store long %reg198, long* %cast806 |
| 295 | %reg291 = load long* %cast540 ; <long> [#uses=1] |
| 296 | %reg292 = add long %reg393, %reg291 ; <long> [#uses=2] |
| 297 | %reg294 = shl long %reg292, ubyte 4 ; <long> [#uses=1] |
| 298 | %reg295 = sub long %reg294, %reg292 ; <long> [#uses=1] |
| 299 | %reg296 = shl long %reg295, ubyte 3 ; <long> [#uses=1] |
| 300 | %reg298 = add long %reg117, %reg296 ; <long> [#uses=1] |
| 301 | %reg812 = add ulong %reg392, 136 ; <ulong> [#uses=3] |
| 302 | %cast814 = cast ulong %reg812 to long* ; <long*> [#uses=1] |
| 303 | store long %reg298, long* %cast814 |
| 304 | %reg299 = load long* %cast817 ; <long> [#uses=2] |
| 305 | %cond818 = setge long %reg299, 10000000 ; <bool> [#uses=1] |
| 306 | br bool %cond818, label %bb15, label %bb14 |
| 307 | |
| 308 | bb14: ;[#uses=2] |
| 309 | br label %bb15 |
| 310 | |
| 311 | bb15: ;[#uses=5] |
| 312 | %reg397 = phi long [ 10000000, %bb14 ], [ %reg299, %bb13 ] ; <long> [#uses=2] |
| 313 | %reg302 = add long %reg397, %reg397 ; <long> [#uses=2] |
| 314 | %reg821 = add ulong %reg392, 160 ; <ulong> [#uses=1] |
| 315 | %cast823 = cast ulong %reg821 to long* ; <long*> [#uses=1] |
| 316 | store long %reg302, long* %cast823 |
| 317 | %reg824 = add ulong %reg392, 168 ; <ulong> [#uses=1] |
| 318 | %cast826 = cast ulong %reg824 to long* ; <long*> [#uses=1] |
| 319 | store long %reg302, long* %cast826 |
| 320 | %cast827 = cast ulong %reg395 to sbyte*** ; <sbyte***> [#uses=1] |
| 321 | %reg304 = load sbyte*** %cast827 ; <sbyte**> [#uses=1] |
| 322 | %reg8281 = getelementptr sbyte** %reg304, uint 9 ; <sbyte**> [#uses=1] |
| 323 | %reg305 = load sbyte** %reg8281 ; <sbyte*> [#uses=1] |
| 324 | %reg831 = add ulong %reg392, 144 ; <ulong> [#uses=1] |
| 325 | %cast833 = cast ulong %reg831 to sbyte** ; <sbyte**> [#uses=1] |
| 326 | store sbyte* %reg305, sbyte** %cast833 |
| 327 | %cast834 = cast ulong %reg395 to ulong** ; <ulong**> [#uses=1] |
| 328 | %reg306 = load ulong** %cast834 ; <ulong*> [#uses=1] |
| 329 | %reg8351 = getelementptr ulong* %reg306, uint 9 ; <ulong*> [#uses=1] |
| 330 | store ulong %reg395, ulong* %reg8351 |
| 331 | %cast840 = cast ulong %reg812 to sbyte*** ; <sbyte***> [#uses=1] |
| 332 | %reg307 = load sbyte*** %cast840 ; <sbyte**> [#uses=1] |
| 333 | %reg8411 = getelementptr sbyte** %reg307, uint 10 ; <sbyte**> [#uses=1] |
| 334 | %reg308 = load sbyte** %reg8411 ; <sbyte*> [#uses=1] |
| 335 | %reg844 = add ulong %reg392, 152 ; <ulong> [#uses=1] |
| 336 | %cast846 = cast ulong %reg844 to sbyte** ; <sbyte**> [#uses=1] |
| 337 | store sbyte* %reg308, sbyte** %cast846 |
| 338 | %cast849 = cast ulong %reg812 to ulong** ; <ulong**> [#uses=1] |
| 339 | %reg309 = load ulong** %cast849 ; <ulong*> [#uses=1] |
| 340 | %reg8501 = getelementptr ulong* %reg309, uint 10 ; <ulong*> [#uses=1] |
| 341 | store ulong %reg395, ulong* %reg8501 |
| 342 | %reg398 = add ulong %reg392, 192 ; <ulong> [#uses=1] |
| 343 | %reg399 = add long %cann-indvar3-casted1, 2 ; <long> [#uses=2] |
| 344 | %reg183 = load long* %cast540 ; <long> [#uses=1] |
| 345 | %cond858 = setle long %reg399, %reg183 ; <bool> [#uses=1] |
| 346 | br bool %cond858, label %bb10, label %bb16 |
| 347 | |
| 348 | bb16: ;[#uses=2] |
| 349 | %reg400 = phi ulong [ %reg398, %bb15 ], [ %reg116, %bb9 ] ; <ulong> [#uses=2] |
| 350 | %reg401 = phi long [ %reg399, %bb15 ], [ 1, %bb9 ] ; <long> [#uses=1] |
| 351 | %reg310 = load long* %cast540 ; <long> [#uses=1] |
| 352 | %reg311 = add long %reg310, 1 ; <long> [#uses=1] |
| 353 | %cond865 = seteq long %reg401, %reg311 ; <bool> [#uses=1] |
| 354 | br bool %cond865, label %bb18, label %bb17 |
| 355 | |
| 356 | bb17: ;[#uses=1] |
| 357 | ret long -1 |
| 358 | |
| 359 | bb18: ;[#uses=3] |
| 360 | %reg379 = load long* %cast544 ; <long> [#uses=1] |
| 361 | %cond870 = setle long %reg379, 0 ; <bool> [#uses=1] |
| 362 | %cast1032 = getelementptr [12 x sbyte]* %.LC3, uint 0, uint 0 ; <sbyte*> [#uses=1] |
| 363 | br bool %cond870, label %bb22, label %bb19 |
| 364 | |
| 365 | bb19: ;[#uses=2] |
| 366 | %cann-indvar2 = phi uint [ 0, %bb18 ], [ %add1-indvar2, %bb21 ] ; <uint> [#uses=3] |
| 367 | %add1-indvar2 = add uint %cann-indvar2, 1 ; <uint> [#uses=1] |
| 368 | %cann-indvar2-casted = cast uint %cann-indvar2 to ulong ; <ulong> [#uses=1] |
| 369 | %reg403-scale = mul ulong %cann-indvar2-casted, 64 ; <ulong> [#uses=1] |
| 370 | %reg403 = add ulong %reg403-scale, %reg400 ; <ulong> [#uses=11] |
| 371 | %cann-indvar2-casted1 = cast uint %cann-indvar2 to long ; <long> [#uses=1] |
| 372 | %reg874 = call sbyte* %fgets( sbyte* %instring, int 200, %FILE* %reg520 ) ; <sbyte*> [#uses=0] |
| 373 | %reg878 = call int (sbyte*, sbyte*, ...)* %sscanf( sbyte* %instring, sbyte* %cast1032, long* %t, long* %h, long* %c ) ; <int> [#uses=1] |
| 374 | %cond883 = seteq int %reg878, 3 ; <bool> [#uses=1] |
| 375 | br bool %cond883, label %bb21, label %bb20 |
| 376 | |
| 377 | bb20: ;[#uses=1] |
| 378 | ret long -1 |
| 379 | |
| 380 | bb21: ;[#uses=3] |
| 381 | %reg322 = load long* %t ; <long> [#uses=1] |
| 382 | %reg323 = load long* %cast540 ; <long> [#uses=1] |
| 383 | %reg324 = add long %reg322, %reg323 ; <long> [#uses=2] |
| 384 | %reg326 = shl long %reg324, ubyte 4 ; <long> [#uses=1] |
| 385 | %reg327 = sub long %reg326, %reg324 ; <long> [#uses=1] |
| 386 | %reg328 = shl long %reg327, ubyte 3 ; <long> [#uses=1] |
| 387 | %reg330 = add long %reg117, %reg328 ; <long> [#uses=1] |
| 388 | %cast892 = cast ulong %reg403 to long* ; <long*> [#uses=1] |
| 389 | store long %reg330, long* %cast892 |
| 390 | %reg331 = load long* %h ; <long> [#uses=2] |
| 391 | %reg333 = shl long %reg331, ubyte 4 ; <long> [#uses=1] |
| 392 | %reg334 = sub long %reg333, %reg331 ; <long> [#uses=1] |
| 393 | %reg335 = shl long %reg334, ubyte 3 ; <long> [#uses=1] |
| 394 | %reg337 = add long %reg117, %reg335 ; <long> [#uses=1] |
| 395 | %reg896 = add ulong %reg403, 8 ; <ulong> [#uses=3] |
| 396 | %cast898 = cast ulong %reg896 to long* ; <long*> [#uses=1] |
| 397 | store long %reg337, long* %cast898 |
| 398 | %reg338 = load long* %c, uint 0 ; <long> [#uses=1] |
| 399 | %reg900 = add ulong %reg403, 40 ; <ulong> [#uses=1] |
| 400 | %cast902 = cast ulong %reg900 to long* ; <long*> [#uses=1] |
| 401 | store long %reg338, long* %cast902 |
| 402 | %reg339 = load long* %c, uint 0 ; <long> [#uses=1] |
| 403 | %reg904 = add ulong %reg403, 32 ; <ulong> [#uses=1] |
| 404 | %cast906 = cast ulong %reg904 to long* ; <long*> [#uses=1] |
| 405 | store long %reg339, long* %cast906 |
| 406 | %cast907 = cast ulong %reg403 to sbyte*** ; <sbyte***> [#uses=1] |
| 407 | %reg340 = load sbyte*** %cast907 ; <sbyte**> [#uses=1] |
| 408 | %reg9081 = getelementptr sbyte** %reg340, uint 9 ; <sbyte**> [#uses=1] |
| 409 | %reg341 = load sbyte** %reg9081 ; <sbyte*> [#uses=1] |
| 410 | %reg911 = add ulong %reg403, 16 ; <ulong> [#uses=1] |
| 411 | %cast913 = cast ulong %reg911 to sbyte** ; <sbyte**> [#uses=1] |
| 412 | store sbyte* %reg341, sbyte** %cast913 |
| 413 | %cast914 = cast ulong %reg403 to ulong** ; <ulong**> [#uses=1] |
| 414 | %reg342 = load ulong** %cast914 ; <ulong*> [#uses=1] |
| 415 | %reg9151 = getelementptr ulong* %reg342, uint 9 ; <ulong*> [#uses=1] |
| 416 | store ulong %reg403, ulong* %reg9151 |
| 417 | %cast920 = cast ulong %reg896 to sbyte*** ; <sbyte***> [#uses=1] |
| 418 | %reg343 = load sbyte*** %cast920 ; <sbyte**> [#uses=1] |
| 419 | %reg9211 = getelementptr sbyte** %reg343, uint 10 ; <sbyte**> [#uses=1] |
| 420 | %reg344 = load sbyte** %reg9211 ; <sbyte*> [#uses=1] |
| 421 | %reg924 = add ulong %reg403, 24 ; <ulong> [#uses=1] |
| 422 | %cast926 = cast ulong %reg924 to sbyte** ; <sbyte**> [#uses=1] |
| 423 | store sbyte* %reg344, sbyte** %cast926 |
| 424 | %cast929 = cast ulong %reg896 to ulong** ; <ulong**> [#uses=1] |
| 425 | %reg345 = load ulong** %cast929 ; <ulong*> [#uses=1] |
| 426 | %reg9301 = getelementptr ulong* %reg345, uint 10 ; <ulong*> [#uses=1] |
| 427 | store ulong %reg403, ulong* %reg9301 |
| 428 | %reg405 = add long %cann-indvar2-casted1, 1 ; <long> [#uses=1] |
| 429 | %reg406 = add ulong %reg403, 64 ; <ulong> [#uses=1] |
| 430 | %reg314 = load long* %cast544 ; <long> [#uses=1] |
| 431 | %cond938 = setlt long %reg405, %reg314 ; <bool> [#uses=1] |
| 432 | br bool %cond938, label %bb19, label %bb22 |
| 433 | |
| 434 | bb22: ;[#uses=2] |
| 435 | %reg407 = phi ulong [ %reg406, %bb21 ], [ %reg400, %bb18 ] ; <ulong> [#uses=2] |
| 436 | %cast943 = cast sbyte* %reg6281 to ulong* ; <ulong*> [#uses=2] |
| 437 | %reg346 = load ulong* %cast943 ; <ulong> [#uses=1] |
| 438 | %cond944 = seteq ulong %reg346, %reg407 ; <bool> [#uses=1] |
| 439 | br bool %cond944, label %bb26, label %bb23 |
| 440 | |
| 441 | bb23: ;[#uses=2] |
| 442 | store ulong %reg407, ulong* %cast943 |
| 443 | %reg408 = load sbyte** %cast588 ; <sbyte*> [#uses=2] |
| 444 | %cast953 = cast sbyte* %reg5551 to ulong* ; <ulong*> [#uses=4] |
| 445 | store ulong 0, ulong* %cast953 |
| 446 | %reg380 = load sbyte** %cast630 ; <sbyte*> [#uses=1] |
| 447 | %cond957 = setge sbyte* %reg408, %reg380 ; <bool> [#uses=1] |
| 448 | br bool %cond957, label %bb25, label %bb24 |
| 449 | |
| 450 | bb24: ;[#uses=3] |
| 451 | %cann-indvar1 = phi uint [ 0, %bb23 ], [ %add1-indvar1, %bb24 ] ; <uint> [#uses=2] |
| 452 | %add1-indvar1 = add uint %cann-indvar1, 1 ; <uint> [#uses=1] |
| 453 | %cann-indvar1-scale = mul uint %cann-indvar1, 64 ; <uint> [#uses=1] |
| 454 | %reg4091 = getelementptr sbyte* %reg408, uint %cann-indvar1-scale ; <sbyte*> [#uses=1] |
| 455 | %reg349 = load ulong* %cast953 ; <ulong> [#uses=1] |
| 456 | %reg350 = add ulong %reg349, 1 ; <ulong> [#uses=1] |
| 457 | store ulong %reg350, ulong* %cast953 |
| 458 | %reg4101 = getelementptr sbyte* %reg4091, uint 64 ; <sbyte*> [#uses=1] |
| 459 | %reg348 = load sbyte** %cast630 ; <sbyte*> [#uses=1] |
| 460 | %cond969 = setlt sbyte* %reg4101, %reg348 ; <bool> [#uses=1] |
| 461 | br bool %cond969, label %bb24, label %bb25 |
| 462 | |
| 463 | bb25: ;[#uses=2] |
| 464 | %reg351 = load ulong* %cast953 ; <ulong> [#uses=1] |
| 465 | %cast975 = cast sbyte* %reg5421 to ulong* ; <ulong*> [#uses=1] |
| 466 | store ulong %reg351, ulong* %cast975 |
| 467 | br label %bb26 |
| 468 | |
| 469 | bb26: ;[#uses=3] |
| 470 | %reg977 = call int %fclose( %FILE* %reg520 ) ; <int> [#uses=0] |
| 471 | %reg9781 = getelementptr sbyte* %cast518, uint 200 ; <sbyte*> [#uses=1] |
| 472 | store sbyte 0, sbyte* %reg9781 |
| 473 | %reg381 = load long* %cast540 ; <long> [#uses=1] |
| 474 | %cond984 = setlt long %reg381, 1 ; <bool> [#uses=1] |
| 475 | %cast991 = cast sbyte* %reg5861 to long* ; <long*> [#uses=2] |
| 476 | br bool %cond984, label %bb32, label %bb27 |
| 477 | |
| 478 | bb27: ;[#uses=3] |
| 479 | %cann-indvar = phi uint [ 0, %bb26 ], [ %add1-indvar, %bb31 ] ; <uint> [#uses=2] |
| 480 | %add1-indvar = add uint %cann-indvar, 1 ; <uint> [#uses=1] |
| 481 | %cann-indvar-casted = cast uint %cann-indvar to long ; <long> [#uses=2] |
| 482 | %reg412 = add long %cann-indvar-casted, 1 ; <long> [#uses=2] |
| 483 | %reg355 = shl long %reg412, ubyte 1 ; <long> [#uses=1] |
| 484 | %reg356 = add long %reg355, %reg412 ; <long> [#uses=1] |
| 485 | %reg357 = shl long %reg356, ubyte 6 ; <long> [#uses=2] |
| 486 | %reg359 = load long* %cast991 ; <long> [#uses=1] |
| 487 | %reg360 = add long %reg359, %reg357 ; <long> [#uses=1] |
| 488 | %reg362 = load ulong* %cast722 ; <ulong> [#uses=2] |
| 489 | %cast997 = cast ulong %reg362 to long ; <long> [#uses=1] |
| 490 | %cond996 = setge long %cast997, 10000000 ; <bool> [#uses=1] |
| 491 | br bool %cond996, label %bb29, label %bb28 |
| 492 | |
| 493 | bb28: ;[#uses=2] |
| 494 | br label %bb29 |
| 495 | |
| 496 | bb29: ;[#uses=3] |
| 497 | %reg414 = phi ulong [ 10000000, %bb28 ], [ %reg362, %bb27 ] ; <ulong> [#uses=1] |
| 498 | %reg364 = mul ulong %reg414, 18446744073709551614 ; <ulong> [#uses=1] |
| 499 | %reg1000 = add long %reg360, -32 ; <long> [#uses=1] |
| 500 | %cast1002 = cast long %reg1000 to ulong* ; <ulong*> [#uses=1] |
| 501 | store ulong %reg364, ulong* %cast1002 |
| 502 | %reg370 = load long* %cast991 ; <long> [#uses=1] |
| 503 | %reg371 = add long %reg370, %reg357 ; <long> [#uses=1] |
| 504 | %reg373 = load ulong* %cast722 ; <ulong> [#uses=2] |
| 505 | %cast1013 = cast ulong %reg373 to long ; <long> [#uses=1] |
| 506 | %cond1012 = setge long %cast1013, 10000000 ; <bool> [#uses=1] |
| 507 | br bool %cond1012, label %bb31, label %bb30 |
| 508 | |
| 509 | bb30: ;[#uses=2] |
| 510 | br label %bb31 |
| 511 | |
| 512 | bb31: ;[#uses=3] |
| 513 | %reg416 = phi ulong [ 10000000, %bb30 ], [ %reg373, %bb29 ] ; <ulong> [#uses=1] |
| 514 | %reg375 = mul ulong %reg416, 18446744073709551614 ; <ulong> [#uses=1] |
| 515 | %reg1016 = add long %reg371, -24 ; <long> [#uses=1] |
| 516 | %cast1018 = cast long %reg1016 to ulong* ; <ulong*> [#uses=1] |
| 517 | store ulong %reg375, ulong* %cast1018 |
| 518 | %reg417 = add long %cann-indvar-casted, 2 ; <long> [#uses=1] |
| 519 | %reg353 = load long* %cast540 ; <long> [#uses=1] |
| 520 | %cond1023 = setle long %reg417, %reg353 ; <bool> [#uses=1] |
| 521 | br bool %cond1023, label %bb27, label %bb32 |
| 522 | |
| 523 | bb32: ;[#uses=2] |
| 524 | ret long 0 |
| 525 | |
| 526 | bb33: ;[#uses=0] |
| 527 | ret long 42 |
| 528 | } |
| 529 | |
| 530 | declare int %fclose(%FILE*) |
| 531 | |
| 532 | declare %FILE* %fopen(sbyte*, sbyte*) |
| 533 | |
| 534 | declare int %sscanf(sbyte*, sbyte*, ...) |
| 535 | |
| 536 | declare sbyte* %fgets(sbyte*, int, %FILE*) |
| 537 | |
| 538 | declare int %puts(sbyte*) |
| 539 | |
| 540 | declare sbyte* %calloc(ulong, ulong) |
| 541 | |
| 542 | declare long %getfree(%network_t*) |