Hal Finkel | 1bde3f8 | 2012-02-10 15:52:40 +0000 | [diff] [blame] | 1 | target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-f128:128:128-n8:16:32:64" |
| 2 | target triple = "x86_64-unknown-linux-gnu" |
| 3 | ; RUN: opt < %s -basicaa -bb-vectorize -bb-vectorize-req-chain-depth=2 -instcombine -gvn -S | FileCheck %s |
| 4 | ; The chain length is set to 2 so that this will do some vectorization; check that the order of the functions is unchanged. |
| 5 | |
| 6 | %struct.descriptor_dimension = type { i64, i64, i64 } |
| 7 | %struct.__st_parameter_common = type { i32, i32, i8*, i32, i32, i8*, i32* } |
| 8 | %struct.__st_parameter_dt = type { %struct.__st_parameter_common, i64, i64*, i64*, i8*, i8*, i32, i32, i8*, i8*, i32, i32, i8*, [256 x i8], i32*, i64, i8*, i32, i32, i8*, i8*, i32, i32, i8*, i8*, i32, i32, i8*, i8*, i32, [4 x i8] } |
| 9 | %"struct.array4_real(kind=4)" = type { i8*, i64, i64, [4 x %struct.descriptor_dimension] } |
| 10 | %"struct.array4_integer(kind=4).73" = type { i8*, i64, i64, [4 x %struct.descriptor_dimension] } |
| 11 | %struct.array4_unknown = type { i8*, i64, i64, [4 x %struct.descriptor_dimension] } |
| 12 | |
| 13 | @.cst4 = external unnamed_addr constant [11 x i8], align 8 |
| 14 | @.cst823 = external unnamed_addr constant [214 x i8], align 64 |
| 15 | @j.4580 = external global i32 |
| 16 | @j1.4581 = external global i32 |
| 17 | @nty1.4590 = external global [2 x i8] |
| 18 | @nty2.4591 = external global [2 x i8] |
| 19 | @xr1.4592 = external global float |
| 20 | @xr2.4593 = external global float |
| 21 | @yr1.4594 = external global float |
| 22 | @yr2.4595 = external global float |
| 23 | |
| 24 | @__main1_MOD_iave = external unnamed_addr global i32 |
| 25 | @__main1_MOD_igrp = external global i32 |
| 26 | @__main1_MOD_iounit = external global i32 |
| 27 | @__main1_MOD_ityp = external global i32 |
| 28 | @__main1_MOD_mclmsg = external unnamed_addr global %struct.array4_unknown, align 32 |
| 29 | @__main1_MOD_mxdate = external unnamed_addr global %"struct.array4_integer(kind=4).73", align 32 |
| 30 | @__main1_MOD_rmxval = external unnamed_addr global %"struct.array4_real(kind=4)", align 32 |
| 31 | |
| 32 | declare void @_gfortran_st_write(%struct.__st_parameter_dt*) |
| 33 | declare void @_gfortran_st_write_done(%struct.__st_parameter_dt*) |
| 34 | declare void @_gfortran_transfer_character_write(%struct.__st_parameter_dt*, i8*, i32) |
| 35 | declare void @_gfortran_transfer_integer_write(%struct.__st_parameter_dt*, i8*, i32) |
| 36 | declare void @_gfortran_transfer_real_write(%struct.__st_parameter_dt*, i8*, i32) |
| 37 | |
| 38 | define i1 @"prtmax__<bb 3>_<bb 34>"(%struct.__st_parameter_dt* %memtmp3, i32 %D.4627_188.reload) nounwind { |
| 39 | ; CHECK: prtmax__ |
| 40 | newFuncRoot: |
| 41 | br label %"<bb 34>" |
| 42 | |
| 43 | codeRepl80.exitStub: ; preds = %"<bb 34>" |
| 44 | ret i1 true |
| 45 | |
| 46 | "<bb 34>.<bb 25>_crit_edge.exitStub": ; preds = %"<bb 34>" |
| 47 | ret i1 false |
| 48 | |
| 49 | "<bb 34>": ; preds = %newFuncRoot |
| 50 | %tmp128 = getelementptr inbounds %struct.__st_parameter_dt* %memtmp3, i32 0, i32 0 |
| 51 | %tmp129 = getelementptr inbounds %struct.__st_parameter_common* %tmp128, i32 0, i32 2 |
| 52 | store i8* getelementptr inbounds ([11 x i8]* @.cst4, i64 0, i64 0), i8** %tmp129, align 8 |
| 53 | %tmp130 = getelementptr inbounds %struct.__st_parameter_dt* %memtmp3, i32 0, i32 0 |
| 54 | %tmp131 = getelementptr inbounds %struct.__st_parameter_common* %tmp130, i32 0, i32 3 |
| 55 | store i32 31495, i32* %tmp131, align 4 |
| 56 | %tmp132 = getelementptr inbounds %struct.__st_parameter_dt* %memtmp3, i32 0, i32 5 |
| 57 | store i8* getelementptr inbounds ([214 x i8]* @.cst823, i64 0, i64 0), i8** %tmp132, align 8 |
| 58 | %tmp133 = getelementptr inbounds %struct.__st_parameter_dt* %memtmp3, i32 0, i32 6 |
| 59 | store i32 214, i32* %tmp133, align 4 |
| 60 | %tmp134 = getelementptr inbounds %struct.__st_parameter_dt* %memtmp3, i32 0, i32 0 |
| 61 | %tmp135 = getelementptr inbounds %struct.__st_parameter_common* %tmp134, i32 0, i32 0 |
| 62 | store i32 4096, i32* %tmp135, align 4 |
| 63 | %iounit.8748_288 = load i32* @__main1_MOD_iounit, align 4 |
| 64 | %tmp136 = getelementptr inbounds %struct.__st_parameter_dt* %memtmp3, i32 0, i32 0 |
| 65 | %tmp137 = getelementptr inbounds %struct.__st_parameter_common* %tmp136, i32 0, i32 1 |
| 66 | store i32 %iounit.8748_288, i32* %tmp137, align 4 |
| 67 | call void @_gfortran_st_write(%struct.__st_parameter_dt* %memtmp3) nounwind |
| 68 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_integer_write to void (%struct.__st_parameter_dt*, i32*, i32)*)(%struct.__st_parameter_dt* %memtmp3, i32* @j.4580, i32 4) nounwind |
| 69 | ; CHECK: @_gfortran_transfer_integer_write |
| 70 | %D.75807_289 = load i8** getelementptr inbounds (%"struct.array4_real(kind=4)"* @__main1_MOD_rmxval, i64 0, i32 0), align 8 |
| 71 | %j.8758_290 = load i32* @j.4580, align 4 |
| 72 | %D.75760_291 = sext i32 %j.8758_290 to i64 |
| 73 | %iave.8736_292 = load i32* @__main1_MOD_iave, align 4 |
| 74 | %D.75620_293 = sext i32 %iave.8736_292 to i64 |
| 75 | %D.75808_294 = load i64* getelementptr inbounds (%"struct.array4_real(kind=4)"* @__main1_MOD_rmxval, i64 0, i32 3, i64 2, i32 0), align 8 |
| 76 | %D.75809_295 = mul nsw i64 %D.75620_293, %D.75808_294 |
| 77 | %igrp.8737_296 = load i32* @__main1_MOD_igrp, align 4 |
| 78 | %D.75635_297 = sext i32 %igrp.8737_296 to i64 |
| 79 | %D.75810_298 = load i64* getelementptr inbounds (%"struct.array4_real(kind=4)"* @__main1_MOD_rmxval, i64 0, i32 3, i64 1, i32 0), align 8 |
| 80 | %D.75811_299 = mul nsw i64 %D.75635_297, %D.75810_298 |
| 81 | %D.75812_300 = add nsw i64 %D.75809_295, %D.75811_299 |
| 82 | %D.75813_301 = add nsw i64 %D.75760_291, %D.75812_300 |
| 83 | %ityp.8750_302 = load i32* @__main1_MOD_ityp, align 4 |
| 84 | %D.75704_303 = sext i32 %ityp.8750_302 to i64 |
| 85 | %D.75814_304 = load i64* getelementptr inbounds (%"struct.array4_real(kind=4)"* @__main1_MOD_rmxval, i64 0, i32 3, i64 3, i32 0), align 8 |
| 86 | %D.75815_305 = mul nsw i64 %D.75704_303, %D.75814_304 |
| 87 | %D.75816_306 = add nsw i64 %D.75813_301, %D.75815_305 |
| 88 | %D.75817_307 = load i64* getelementptr inbounds (%"struct.array4_real(kind=4)"* @__main1_MOD_rmxval, i64 0, i32 1), align 8 |
| 89 | %D.75818_308 = add nsw i64 %D.75816_306, %D.75817_307 |
| 90 | %tmp138 = bitcast i8* %D.75807_289 to [0 x float]* |
| 91 | %tmp139 = bitcast [0 x float]* %tmp138 to float* |
| 92 | %D.75819_309 = getelementptr inbounds float* %tmp139, i64 %D.75818_308 |
| 93 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_real_write to void (%struct.__st_parameter_dt*, float*, i32)*)(%struct.__st_parameter_dt* %memtmp3, float* %D.75819_309, i32 4) nounwind |
| 94 | ; CHECK: @_gfortran_transfer_real_write |
| 95 | %D.75820_310 = load i8** getelementptr inbounds (%struct.array4_unknown* @__main1_MOD_mclmsg, i64 0, i32 0), align 8 |
| 96 | %j.8758_311 = load i32* @j.4580, align 4 |
| 97 | %D.75760_312 = sext i32 %j.8758_311 to i64 |
| 98 | %iave.8736_313 = load i32* @__main1_MOD_iave, align 4 |
| 99 | %D.75620_314 = sext i32 %iave.8736_313 to i64 |
| 100 | %D.75821_315 = load i64* getelementptr inbounds (%struct.array4_unknown* @__main1_MOD_mclmsg, i64 0, i32 3, i64 2, i32 0), align 8 |
| 101 | %D.75822_316 = mul nsw i64 %D.75620_314, %D.75821_315 |
| 102 | %igrp.8737_317 = load i32* @__main1_MOD_igrp, align 4 |
| 103 | %D.75635_318 = sext i32 %igrp.8737_317 to i64 |
| 104 | %D.75823_319 = load i64* getelementptr inbounds (%struct.array4_unknown* @__main1_MOD_mclmsg, i64 0, i32 3, i64 1, i32 0), align 8 |
| 105 | %D.75824_320 = mul nsw i64 %D.75635_318, %D.75823_319 |
| 106 | %D.75825_321 = add nsw i64 %D.75822_316, %D.75824_320 |
| 107 | %D.75826_322 = add nsw i64 %D.75760_312, %D.75825_321 |
| 108 | %ityp.8750_323 = load i32* @__main1_MOD_ityp, align 4 |
| 109 | %D.75704_324 = sext i32 %ityp.8750_323 to i64 |
| 110 | %D.75827_325 = load i64* getelementptr inbounds (%struct.array4_unknown* @__main1_MOD_mclmsg, i64 0, i32 3, i64 3, i32 0), align 8 |
| 111 | %D.75828_326 = mul nsw i64 %D.75704_324, %D.75827_325 |
| 112 | %D.75829_327 = add nsw i64 %D.75826_322, %D.75828_326 |
| 113 | %D.75830_328 = load i64* getelementptr inbounds (%struct.array4_unknown* @__main1_MOD_mclmsg, i64 0, i32 1), align 8 |
| 114 | %D.75831_329 = add nsw i64 %D.75829_327, %D.75830_328 |
| 115 | %tmp140 = bitcast i8* %D.75820_310 to [0 x [1 x i8]]* |
| 116 | %tmp141 = bitcast [0 x [1 x i8]]* %tmp140 to [1 x i8]* |
| 117 | %D.75832_330 = getelementptr inbounds [1 x i8]* %tmp141, i64 %D.75831_329 |
| 118 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_character_write to void (%struct.__st_parameter_dt*, [1 x i8]*, i32)*)(%struct.__st_parameter_dt* %memtmp3, [1 x i8]* %D.75832_330, i32 1) nounwind |
| 119 | ; CHECK: @_gfortran_transfer_character_write |
| 120 | %D.75833_331 = load i8** getelementptr inbounds (%"struct.array4_integer(kind=4).73"* @__main1_MOD_mxdate, i64 0, i32 0), align 8 |
| 121 | %j.8758_332 = load i32* @j.4580, align 4 |
| 122 | %D.75760_333 = sext i32 %j.8758_332 to i64 |
| 123 | %iave.8736_334 = load i32* @__main1_MOD_iave, align 4 |
| 124 | %D.75620_335 = sext i32 %iave.8736_334 to i64 |
| 125 | %D.75834_336 = load i64* getelementptr inbounds (%"struct.array4_integer(kind=4).73"* @__main1_MOD_mxdate, i64 0, i32 3, i64 2, i32 0), align 8 |
| 126 | %D.75835_337 = mul nsw i64 %D.75620_335, %D.75834_336 |
| 127 | %igrp.8737_338 = load i32* @__main1_MOD_igrp, align 4 |
| 128 | %D.75635_339 = sext i32 %igrp.8737_338 to i64 |
| 129 | %D.75836_340 = load i64* getelementptr inbounds (%"struct.array4_integer(kind=4).73"* @__main1_MOD_mxdate, i64 0, i32 3, i64 1, i32 0), align 8 |
| 130 | %D.75837_341 = mul nsw i64 %D.75635_339, %D.75836_340 |
| 131 | %D.75838_342 = add nsw i64 %D.75835_337, %D.75837_341 |
| 132 | %D.75839_343 = add nsw i64 %D.75760_333, %D.75838_342 |
| 133 | %ityp.8750_344 = load i32* @__main1_MOD_ityp, align 4 |
| 134 | %D.75704_345 = sext i32 %ityp.8750_344 to i64 |
| 135 | %D.75840_346 = load i64* getelementptr inbounds (%"struct.array4_integer(kind=4).73"* @__main1_MOD_mxdate, i64 0, i32 3, i64 3, i32 0), align 8 |
| 136 | %D.75841_347 = mul nsw i64 %D.75704_345, %D.75840_346 |
| 137 | %D.75842_348 = add nsw i64 %D.75839_343, %D.75841_347 |
| 138 | %D.75843_349 = load i64* getelementptr inbounds (%"struct.array4_integer(kind=4).73"* @__main1_MOD_mxdate, i64 0, i32 1), align 8 |
| 139 | %D.75844_350 = add nsw i64 %D.75842_348, %D.75843_349 |
| 140 | %tmp142 = bitcast i8* %D.75833_331 to [0 x i32]* |
| 141 | %tmp143 = bitcast [0 x i32]* %tmp142 to i32* |
| 142 | %D.75845_351 = getelementptr inbounds i32* %tmp143, i64 %D.75844_350 |
| 143 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_integer_write to void (%struct.__st_parameter_dt*, i32*, i32)*)(%struct.__st_parameter_dt* %memtmp3, i32* %D.75845_351, i32 4) nounwind |
| 144 | ; CHECK: @_gfortran_transfer_integer_write |
| 145 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_real_write to void (%struct.__st_parameter_dt*, float*, i32)*)(%struct.__st_parameter_dt* %memtmp3, float* @xr1.4592, i32 4) nounwind |
| 146 | ; CHECK: @_gfortran_transfer_real_write |
| 147 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_real_write to void (%struct.__st_parameter_dt*, float*, i32)*)(%struct.__st_parameter_dt* %memtmp3, float* @yr1.4594, i32 4) nounwind |
| 148 | ; CHECK: @_gfortran_transfer_real_write |
| 149 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_character_write to void (%struct.__st_parameter_dt*, [2 x i8]*, i32)*)(%struct.__st_parameter_dt* %memtmp3, [2 x i8]* @nty1.4590, i32 2) nounwind |
| 150 | ; CHECK: @_gfortran_transfer_character_write |
| 151 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_integer_write to void (%struct.__st_parameter_dt*, i32*, i32)*)(%struct.__st_parameter_dt* %memtmp3, i32* @j1.4581, i32 4) nounwind |
| 152 | ; CHECK: @_gfortran_transfer_integer_write |
| 153 | %D.75807_352 = load i8** getelementptr inbounds (%"struct.array4_real(kind=4)"* @__main1_MOD_rmxval, i64 0, i32 0), align 8 |
| 154 | %j1.8760_353 = load i32* @j1.4581, align 4 |
| 155 | %D.75773_354 = sext i32 %j1.8760_353 to i64 |
| 156 | %iave.8736_355 = load i32* @__main1_MOD_iave, align 4 |
| 157 | %D.75620_356 = sext i32 %iave.8736_355 to i64 |
| 158 | %D.75808_357 = load i64* getelementptr inbounds (%"struct.array4_real(kind=4)"* @__main1_MOD_rmxval, i64 0, i32 3, i64 2, i32 0), align 8 |
| 159 | %D.75809_358 = mul nsw i64 %D.75620_356, %D.75808_357 |
| 160 | %igrp.8737_359 = load i32* @__main1_MOD_igrp, align 4 |
| 161 | %D.75635_360 = sext i32 %igrp.8737_359 to i64 |
| 162 | %D.75810_361 = load i64* getelementptr inbounds (%"struct.array4_real(kind=4)"* @__main1_MOD_rmxval, i64 0, i32 3, i64 1, i32 0), align 8 |
| 163 | %D.75811_362 = mul nsw i64 %D.75635_360, %D.75810_361 |
| 164 | %D.75812_363 = add nsw i64 %D.75809_358, %D.75811_362 |
| 165 | %D.75846_364 = add nsw i64 %D.75773_354, %D.75812_363 |
| 166 | %ityp.8750_365 = load i32* @__main1_MOD_ityp, align 4 |
| 167 | %D.75704_366 = sext i32 %ityp.8750_365 to i64 |
| 168 | %D.75814_367 = load i64* getelementptr inbounds (%"struct.array4_real(kind=4)"* @__main1_MOD_rmxval, i64 0, i32 3, i64 3, i32 0), align 8 |
| 169 | %D.75815_368 = mul nsw i64 %D.75704_366, %D.75814_367 |
| 170 | %D.75847_369 = add nsw i64 %D.75846_364, %D.75815_368 |
| 171 | %D.75817_370 = load i64* getelementptr inbounds (%"struct.array4_real(kind=4)"* @__main1_MOD_rmxval, i64 0, i32 1), align 8 |
| 172 | %D.75848_371 = add nsw i64 %D.75847_369, %D.75817_370 |
| 173 | %tmp144 = bitcast i8* %D.75807_352 to [0 x float]* |
| 174 | %tmp145 = bitcast [0 x float]* %tmp144 to float* |
| 175 | %D.75849_372 = getelementptr inbounds float* %tmp145, i64 %D.75848_371 |
| 176 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_real_write to void (%struct.__st_parameter_dt*, float*, i32)*)(%struct.__st_parameter_dt* %memtmp3, float* %D.75849_372, i32 4) nounwind |
| 177 | ; CHECK: @_gfortran_transfer_real_write |
| 178 | %D.75820_373 = load i8** getelementptr inbounds (%struct.array4_unknown* @__main1_MOD_mclmsg, i64 0, i32 0), align 8 |
| 179 | %j1.8760_374 = load i32* @j1.4581, align 4 |
| 180 | %D.75773_375 = sext i32 %j1.8760_374 to i64 |
| 181 | %iave.8736_376 = load i32* @__main1_MOD_iave, align 4 |
| 182 | %D.75620_377 = sext i32 %iave.8736_376 to i64 |
| 183 | %D.75821_378 = load i64* getelementptr inbounds (%struct.array4_unknown* @__main1_MOD_mclmsg, i64 0, i32 3, i64 2, i32 0), align 8 |
| 184 | %D.75822_379 = mul nsw i64 %D.75620_377, %D.75821_378 |
| 185 | %igrp.8737_380 = load i32* @__main1_MOD_igrp, align 4 |
| 186 | %D.75635_381 = sext i32 %igrp.8737_380 to i64 |
| 187 | %D.75823_382 = load i64* getelementptr inbounds (%struct.array4_unknown* @__main1_MOD_mclmsg, i64 0, i32 3, i64 1, i32 0), align 8 |
| 188 | %D.75824_383 = mul nsw i64 %D.75635_381, %D.75823_382 |
| 189 | %D.75825_384 = add nsw i64 %D.75822_379, %D.75824_383 |
| 190 | %D.75850_385 = add nsw i64 %D.75773_375, %D.75825_384 |
| 191 | %ityp.8750_386 = load i32* @__main1_MOD_ityp, align 4 |
| 192 | %D.75704_387 = sext i32 %ityp.8750_386 to i64 |
| 193 | %D.75827_388 = load i64* getelementptr inbounds (%struct.array4_unknown* @__main1_MOD_mclmsg, i64 0, i32 3, i64 3, i32 0), align 8 |
| 194 | %D.75828_389 = mul nsw i64 %D.75704_387, %D.75827_388 |
| 195 | %D.75851_390 = add nsw i64 %D.75850_385, %D.75828_389 |
| 196 | %D.75830_391 = load i64* getelementptr inbounds (%struct.array4_unknown* @__main1_MOD_mclmsg, i64 0, i32 1), align 8 |
| 197 | %D.75852_392 = add nsw i64 %D.75851_390, %D.75830_391 |
| 198 | %tmp146 = bitcast i8* %D.75820_373 to [0 x [1 x i8]]* |
| 199 | %tmp147 = bitcast [0 x [1 x i8]]* %tmp146 to [1 x i8]* |
| 200 | %D.75853_393 = getelementptr inbounds [1 x i8]* %tmp147, i64 %D.75852_392 |
| 201 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_character_write to void (%struct.__st_parameter_dt*, [1 x i8]*, i32)*)(%struct.__st_parameter_dt* %memtmp3, [1 x i8]* %D.75853_393, i32 1) nounwind |
| 202 | ; CHECK: @_gfortran_transfer_character_write |
| 203 | %D.75833_394 = load i8** getelementptr inbounds (%"struct.array4_integer(kind=4).73"* @__main1_MOD_mxdate, i64 0, i32 0), align 8 |
| 204 | %j1.8760_395 = load i32* @j1.4581, align 4 |
| 205 | %D.75773_396 = sext i32 %j1.8760_395 to i64 |
| 206 | %iave.8736_397 = load i32* @__main1_MOD_iave, align 4 |
| 207 | %D.75620_398 = sext i32 %iave.8736_397 to i64 |
| 208 | %D.75834_399 = load i64* getelementptr inbounds (%"struct.array4_integer(kind=4).73"* @__main1_MOD_mxdate, i64 0, i32 3, i64 2, i32 0), align 8 |
| 209 | %D.75835_400 = mul nsw i64 %D.75620_398, %D.75834_399 |
| 210 | %igrp.8737_401 = load i32* @__main1_MOD_igrp, align 4 |
| 211 | %D.75635_402 = sext i32 %igrp.8737_401 to i64 |
| 212 | %D.75836_403 = load i64* getelementptr inbounds (%"struct.array4_integer(kind=4).73"* @__main1_MOD_mxdate, i64 0, i32 3, i64 1, i32 0), align 8 |
| 213 | %D.75837_404 = mul nsw i64 %D.75635_402, %D.75836_403 |
| 214 | %D.75838_405 = add nsw i64 %D.75835_400, %D.75837_404 |
| 215 | %D.75854_406 = add nsw i64 %D.75773_396, %D.75838_405 |
| 216 | %ityp.8750_407 = load i32* @__main1_MOD_ityp, align 4 |
| 217 | %D.75704_408 = sext i32 %ityp.8750_407 to i64 |
| 218 | %D.75840_409 = load i64* getelementptr inbounds (%"struct.array4_integer(kind=4).73"* @__main1_MOD_mxdate, i64 0, i32 3, i64 3, i32 0), align 8 |
| 219 | %D.75841_410 = mul nsw i64 %D.75704_408, %D.75840_409 |
| 220 | %D.75855_411 = add nsw i64 %D.75854_406, %D.75841_410 |
| 221 | %D.75843_412 = load i64* getelementptr inbounds (%"struct.array4_integer(kind=4).73"* @__main1_MOD_mxdate, i64 0, i32 1), align 8 |
| 222 | %D.75856_413 = add nsw i64 %D.75855_411, %D.75843_412 |
| 223 | %tmp148 = bitcast i8* %D.75833_394 to [0 x i32]* |
| 224 | %tmp149 = bitcast [0 x i32]* %tmp148 to i32* |
| 225 | %D.75857_414 = getelementptr inbounds i32* %tmp149, i64 %D.75856_413 |
| 226 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_integer_write to void (%struct.__st_parameter_dt*, i32*, i32)*)(%struct.__st_parameter_dt* %memtmp3, i32* %D.75857_414, i32 4) nounwind |
| 227 | ; CHECK: @_gfortran_transfer_integer_write |
| 228 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_real_write to void (%struct.__st_parameter_dt*, float*, i32)*)(%struct.__st_parameter_dt* %memtmp3, float* @xr2.4593, i32 4) nounwind |
| 229 | ; CHECK: @_gfortran_transfer_real_write |
| 230 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_real_write to void (%struct.__st_parameter_dt*, float*, i32)*)(%struct.__st_parameter_dt* %memtmp3, float* @yr2.4595, i32 4) nounwind |
| 231 | ; CHECK: @_gfortran_transfer_real_write |
| 232 | call void bitcast (void (%struct.__st_parameter_dt*, i8*, i32)* @_gfortran_transfer_character_write to void (%struct.__st_parameter_dt*, [2 x i8]*, i32)*)(%struct.__st_parameter_dt* %memtmp3, [2 x i8]* @nty2.4591, i32 2) nounwind |
| 233 | ; CHECK: @_gfortran_transfer_character_write |
| 234 | call void @_gfortran_st_write_done(%struct.__st_parameter_dt* %memtmp3) nounwind |
| 235 | ; CHECK: @_gfortran_st_write_done |
| 236 | %j.8758_415 = load i32* @j.4580, align 4 |
| 237 | %D.4634_416 = icmp eq i32 %j.8758_415, %D.4627_188.reload |
| 238 | %j.8758_417 = load i32* @j.4580, align 4 |
| 239 | %j.8770_418 = add nsw i32 %j.8758_417, 1 |
| 240 | store i32 %j.8770_418, i32* @j.4580, align 4 |
| 241 | %tmp150 = icmp ne i1 %D.4634_416, false |
| 242 | br i1 %tmp150, label %codeRepl80.exitStub, label %"<bb 34>.<bb 25>_crit_edge.exitStub" |
| 243 | } |
| 244 | |