1 ; RUN: llc < %s -mtriple=arm-apple-darwin -mattr=+v6 2 3 %struct.anon = type { i16, i16 } 4 %struct.cab_archive = type { i32, i16, i16, i16, i16, i8, %struct.cab_folder*, %struct.cab_file* } 5 %struct.cab_file = type { i32, i16, i64, i8*, i32, i32, i32, %struct.cab_folder*, %struct.cab_file*, %struct.cab_archive*, %struct.cab_state* } 6 %struct.cab_folder = type { i16, i16, %struct.cab_archive*, i64, %struct.cab_folder* } 7 %struct.cab_state = type { i8*, i8*, [38912 x i8], i16, i16, i8*, i16 } 8 %struct.qtm_model = type { i32, i32, %struct.anon* } 9 %struct.qtm_stream = type { i32, i32, i8, i8*, i32, i32, i32, i16, i16, i16, i8, i32, i8*, i8*, i8*, i8*, i8*, i32, i32, i8, [42 x i32], [42 x i8], [27 x i8], [27 x i8], %struct.qtm_model, %struct.qtm_model, %struct.qtm_model, %struct.qtm_model, %struct.qtm_model, %struct.qtm_model, %struct.qtm_model, %struct.qtm_model, %struct.qtm_model, [65 x %struct.anon], [65 x %struct.anon], [65 x %struct.anon], [65 x %struct.anon], [25 x %struct.anon], [37 x %struct.anon], [43 x %struct.anon], [28 x %struct.anon], [8 x %struct.anon], %struct.cab_file*, i32 (%struct.cab_file*, i8*, i32)* } 10 11 declare fastcc i32 @qtm_read_input(%struct.qtm_stream* nocapture) nounwind 12 13 define fastcc i32 @qtm_decompress(%struct.qtm_stream* %qtm, i64 %out_bytes) nounwind { 14 entry: 15 br i1 undef, label %bb245, label %bb3 16 17 bb3: ; preds = %entry 18 br i1 undef, label %bb5, label %bb4 19 20 bb4: ; preds = %bb3 21 ret i32 undef 22 23 bb5: ; preds = %bb3 24 br i1 undef, label %bb245, label %bb14 25 26 bb14: ; preds = %bb5 27 br label %bb238 28 29 bb28: ; preds = %bb215 30 br label %bb31 31 32 bb29: ; preds = %bb31 33 br i1 undef, label %bb31, label %bb32 34 35 bb31: ; preds = %bb29, %bb28 36 br i1 undef, label %bb29, label %bb32 37 38 bb32: ; preds = %bb31, %bb29 39 br label %bb33 40 41 bb33: ; preds = %bb33, %bb32 42 br i1 undef, label %bb34, label %bb33 43 44 bb34: ; preds = %bb33 45 br i1 undef, label %bb35, label %bb36 46 47 bb35: ; preds = %bb34 48 br label %bb36 49 50 bb36: ; preds = %bb46, %bb35, %bb34 51 br i1 undef, label %bb40, label %bb37 52 53 bb37: ; preds = %bb36 54 br i1 undef, label %bb77, label %bb60 55 56 bb40: ; preds = %bb36 57 br i1 undef, label %bb46, label %bb41 58 59 bb41: ; preds = %bb40 60 br i1 undef, label %bb45, label %bb42 61 62 bb42: ; preds = %bb41 63 ret i32 undef 64 65 bb45: ; preds = %bb41 66 br label %bb46 67 68 bb46: ; preds = %bb45, %bb40 69 br label %bb36 70 71 bb60: ; preds = %bb60, %bb37 72 br label %bb60 73 74 bb77: ; preds = %bb37 75 switch i32 undef, label %bb197 [ 76 i32 5, label %bb108 77 i32 6, label %bb138 78 ] 79 80 bb108: ; preds = %bb77 81 br label %bb111 82 83 bb109: ; preds = %bb111 84 br i1 undef, label %bb111, label %bb112 85 86 bb111: ; preds = %bb109, %bb108 87 br i1 undef, label %bb109, label %bb112 88 89 bb112: ; preds = %bb111, %bb109 90 br label %bb113 91 92 bb113: ; preds = %bb113, %bb112 93 br i1 undef, label %bb114, label %bb113 94 95 bb114: ; preds = %bb113 96 br i1 undef, label %bb115, label %bb116 97 98 bb115: ; preds = %bb114 99 br label %bb116 100 101 bb116: ; preds = %bb115, %bb114 102 br i1 undef, label %bb120, label %bb117 103 104 bb117: ; preds = %bb116 105 br label %bb136 106 107 bb120: ; preds = %bb116 108 ret i32 undef 109 110 bb128: ; preds = %bb136 111 br i1 undef, label %bb134, label %bb129 112 113 bb129: ; preds = %bb128 114 br i1 undef, label %bb133, label %bb130 115 116 bb130: ; preds = %bb129 117 br i1 undef, label %bb132, label %bb131 118 119 bb131: ; preds = %bb130 120 ret i32 undef 121 122 bb132: ; preds = %bb130 123 br label %bb133 124 125 bb133: ; preds = %bb132, %bb129 126 br label %bb134 127 128 bb134: ; preds = %bb133, %bb128 129 br label %bb136 130 131 bb136: ; preds = %bb134, %bb117 132 br i1 undef, label %bb198, label %bb128 133 134 bb138: ; preds = %bb77 135 %0 = trunc i32 undef to i16 ; <i16> [#uses=1] 136 br label %bb141 137 138 bb139: ; preds = %bb141 139 %scevgep441442881 = load i16* undef ; <i16> [#uses=1] 140 %1 = icmp ugt i16 %scevgep441442881, %0 ; <i1> [#uses=1] 141 br i1 %1, label %bb141, label %bb142 142 143 bb141: ; preds = %bb139, %bb138 144 br i1 undef, label %bb139, label %bb142 145 146 bb142: ; preds = %bb141, %bb139 147 br label %bb143 148 149 bb143: ; preds = %bb143, %bb142 150 br i1 undef, label %bb144, label %bb143 151 152 bb144: ; preds = %bb143 153 br i1 undef, label %bb145, label %bb146 154 155 bb145: ; preds = %bb144 156 unreachable 157 158 bb146: ; preds = %bb156, %bb144 159 br i1 undef, label %bb150, label %bb147 160 161 bb147: ; preds = %bb146 162 br i1 undef, label %bb157, label %bb148 163 164 bb148: ; preds = %bb147 165 br i1 undef, label %bb149, label %bb157 166 167 bb149: ; preds = %bb148 168 br label %bb150 169 170 bb150: ; preds = %bb149, %bb146 171 br i1 undef, label %bb156, label %bb152 172 173 bb152: ; preds = %bb150 174 unreachable 175 176 bb156: ; preds = %bb150 177 br label %bb146 178 179 bb157: ; preds = %bb148, %bb147 180 br i1 undef, label %bb167, label %bb160 181 182 bb160: ; preds = %bb157 183 ret i32 undef 184 185 bb167: ; preds = %bb157 186 br label %bb170 187 188 bb168: ; preds = %bb170 189 br i1 undef, label %bb170, label %bb171 190 191 bb170: ; preds = %bb168, %bb167 192 br i1 undef, label %bb168, label %bb171 193 194 bb171: ; preds = %bb170, %bb168 195 br label %bb172 196 197 bb172: ; preds = %bb172, %bb171 198 br i1 undef, label %bb173, label %bb172 199 200 bb173: ; preds = %bb172 201 br i1 undef, label %bb174, label %bb175 202 203 bb174: ; preds = %bb173 204 unreachable 205 206 bb175: ; preds = %bb179, %bb173 207 br i1 undef, label %bb179, label %bb176 208 209 bb176: ; preds = %bb175 210 br i1 undef, label %bb186, label %bb177 211 212 bb177: ; preds = %bb176 213 br i1 undef, label %bb178, label %bb186 214 215 bb178: ; preds = %bb177 216 br label %bb179 217 218 bb179: ; preds = %bb178, %bb175 219 br label %bb175 220 221 bb186: ; preds = %bb177, %bb176 222 br label %bb195 223 224 bb187: ; preds = %bb195 225 br i1 undef, label %bb193, label %bb189 226 227 bb189: ; preds = %bb187 228 %2 = tail call fastcc i32 @qtm_read_input(%struct.qtm_stream* %qtm) nounwind ; <i32> [#uses=0] 229 ret i32 undef 230 231 bb193: ; preds = %bb187 232 br label %bb195 233 234 bb195: ; preds = %bb193, %bb186 235 br i1 undef, label %bb198, label %bb187 236 237 bb197: ; preds = %bb77 238 ret i32 -124 239 240 bb198: ; preds = %bb195, %bb136 241 br i1 undef, label %bb211.preheader, label %bb214 242 243 bb211.preheader: ; preds = %bb198 244 br label %bb211 245 246 bb211: ; preds = %bb211, %bb211.preheader 247 br i1 undef, label %bb214, label %bb211 248 249 bb214: ; preds = %bb211, %bb198 250 br label %bb215 251 252 bb215: ; preds = %bb238, %bb214 253 br i1 undef, label %bb28, label %bb216 254 255 bb216: ; preds = %bb215 256 br label %bb238 257 258 bb238: ; preds = %bb216, %bb14 259 br label %bb215 260 261 bb245: ; preds = %bb5, %entry 262 ret i32 undef 263 } 264