Use BB-like EBB in filetests/regalloc/*.clif

This commit is contained in:
Nicolas B. Pierron
2019-06-28 19:09:41 +02:00
committed by Nicolas B. Pierron
parent a1a4b9bfb1
commit 8bfdfbe68b
9 changed files with 360 additions and 0 deletions

View File

@@ -12,6 +12,9 @@ ebb0(v0: i32):
; not: copy
; v0 is used by the branch and passed as an arg - that's no conflict.
brnz v0, ebb1(v0)
fallthrough ebb2
ebb2:
; v0 is live across the branch above. That's no conflict.
v1 = iadd_imm v0, 7
jump ebb1(v1)
@@ -26,6 +29,9 @@ ebb0(v0: i32):
; check: $(cp1=$V) = copy v0
; nextln: brnz v0, ebb1($cp1)
brnz v0, ebb1(v0)
fallthrough ebb2
ebb2:
; not: copy
v1 = iadd_imm v0, 7
jump ebb1(v1)
@@ -42,6 +48,9 @@ ebb0(v0: i32):
; check: $(cp1=$V) = copy v0
; nextln: brnz v0, ebb1($cp1, v0)
brnz v0, ebb1(v0, v0)
fallthrough ebb2
ebb2:
v1 = iadd_imm v0, 7
v2 = iadd_imm v1, 56
jump ebb1(v1, v2)
@@ -59,6 +68,9 @@ ebb0(v0: i32):
; not: copy
; check: brnz v0, ebb1($cp0)
brnz v0, ebb1(v0)
fallthrough ebb2
ebb2:
v1 = iadd_imm v0, 7
; v1 and v0 interfere here:
v2 = iadd_imm v0, 8
@@ -89,6 +101,9 @@ ebb1(v10: i32, v11: i32):
; not: copy
; check: brnz v13, ebb1($nv11b, v12)
brnz v13, ebb1(v11, v12)
fallthrough ebb2
ebb2:
return v12
}
@@ -116,7 +131,13 @@ ebb0(v0: i32):
ebb2(v3: i32, v4: i32):
brnz v3, ebb2(v3, v4)
fallthrough ebb3
ebb3:
v5 = iconst.i32 1
brnz v3, ebb2(v2, v5)
fallthrough ebb4
ebb4:
return
}

View File

@@ -22,6 +22,9 @@ ebb0(v0: i64, v1: i32, v2: i32):
v6 = iconst.i32 0x4ffe
v7 = icmp uge v5, v6
brz v7, ebb1
fallthrough ebb100
ebb100:
trap heap_oob
ebb1:
@@ -35,6 +38,9 @@ ebb1:
v15 = iconst.i32 0x4ffe
v16 = icmp.i32 uge v4, v15
brz v16, ebb2
fallthrough ebb101
ebb101:
trap heap_oob
ebb2:
@@ -46,6 +52,9 @@ ebb2:
v21 = iconst.i32 0x4ffe
v22 = icmp.i32 uge v2, v21
brz v22, ebb3
fallthrough ebb102
ebb102:
trap heap_oob
ebb3:
@@ -60,15 +69,24 @@ ebb3:
v31 = icmp eq v29, v30
v32 = bint.i32 v31
brnz v32, ebb90(v14, v1)
fallthrough ebb103
ebb103:
v33 = call fn0(v0, v1, v27)
v34 = iconst.i32 0
v35 = iconst.i32 0
v36 = icmp eq v33, v35
v37 = bint.i32 v36
brnz v37, ebb90(v14, v34)
fallthrough ebb104
ebb104:
v38 = iconst.i32 0x4ffe
v39 = icmp.i32 uge v2, v38
brz v39, ebb4
fallthrough ebb105
ebb105:
trap heap_oob
ebb4:
@@ -81,9 +99,15 @@ ebb4:
v46 = icmp eq v44, v45
v47 = bint.i32 v46
brnz v47, ebb56(v33, v14)
fallthrough ebb106
ebb106:
v48 = iconst.i32 0x4ffe
v49 = icmp.i32 uge v33, v48
brz v49, ebb5
fallthrough ebb107
ebb107:
trap heap_oob
ebb5:
@@ -96,9 +120,15 @@ ebb5:
v56 = icmp eq v54, v55
v57 = bint.i32 v56
brnz v57, ebb90(v14, v34)
fallthrough ebb108
ebb108:
v58 = iconst.i32 0x4ffe
v59 = icmp.i32 uge v2, v58
brz v59, ebb6
fallthrough ebb109
ebb109:
trap heap_oob
ebb6:
@@ -111,9 +141,15 @@ ebb6:
v66 = icmp eq v64, v65
v67 = bint.i32 v66
brnz v67, ebb42
fallthrough ebb110
ebb110:
v68 = iconst.i32 0x4ffe
v69 = icmp.i32 uge v33, v68
brz v69, ebb7
fallthrough ebb111
ebb111:
trap heap_oob
ebb7:
@@ -126,9 +162,15 @@ ebb7:
v76 = icmp eq v74, v75
v77 = bint.i32 v76
brnz v77, ebb90(v14, v34)
fallthrough ebb112
ebb112:
v78 = iconst.i32 0x4ffe
v79 = icmp.i32 uge v2, v78
brz v79, ebb8
fallthrough ebb113
ebb113:
trap heap_oob
ebb8:
@@ -141,9 +183,15 @@ ebb8:
v86 = icmp eq v84, v85
v87 = bint.i32 v86
brnz v87, ebb46
fallthrough ebb114
ebb114:
v88 = iconst.i32 0x4ffe
v89 = icmp.i32 uge v33, v88
brz v89, ebb9
fallthrough ebb115
ebb115:
trap heap_oob
ebb9:
@@ -156,9 +204,15 @@ ebb9:
v96 = icmp eq v94, v95
v97 = bint.i32 v96
brnz v97, ebb90(v14, v34)
fallthrough ebb116
ebb116:
v98 = iconst.i32 0x4ffe
v99 = icmp.i32 uge v2, v98
brz v99, ebb10
fallthrough ebb117
ebb117:
trap heap_oob
ebb10:
@@ -171,6 +225,9 @@ ebb10:
v106 = icmp eq v104, v105
v107 = bint.i32 v106
brnz v107, ebb54
fallthrough ebb118
ebb118:
v108 = iconst.i32 1
v109 = iadd.i32 v2, v108
v110 = iconst.i32 1048
@@ -179,6 +236,9 @@ ebb10:
v113 = iconst.i32 0x4ffe
v114 = icmp uge v111, v113
brz v114, ebb11
fallthrough ebb119
ebb119:
trap heap_oob
ebb11:
@@ -193,6 +253,9 @@ ebb11:
v122 = iconst.i32 0x4ffe
v123 = icmp uge v120, v122
brz v123, ebb12
fallthrough ebb120
ebb120:
trap heap_oob
ebb12:
@@ -205,6 +268,9 @@ ebb12:
v129 = iconst.i32 0x4ffe
v130 = icmp.i32 uge v14, v129
brz v130, ebb13
fallthrough ebb121
ebb121:
trap heap_oob
ebb13:
@@ -217,6 +283,9 @@ ebb13:
v136 = iconst.i32 0x4ffe
v137 = icmp.i32 uge v14, v136
brz v137, ebb14
fallthrough ebb122
ebb122:
trap heap_oob
ebb14:
@@ -235,6 +304,9 @@ ebb15(v143: i32, v144: i32):
v148 = iconst.i32 0x4ffe
v149 = icmp uge v147, v148
brz v149, ebb16
fallthrough ebb123
ebb123:
trap heap_oob
ebb16:
@@ -247,6 +319,9 @@ ebb16:
v156 = icmp eq v154, v155
v157 = bint.i32 v156
brnz v157, ebb89(v14)
fallthrough ebb124
ebb124:
v158 = iconst.i32 255
v159 = band.i32 v144, v158
v160 = iconst.i32 2
@@ -257,6 +332,9 @@ ebb16:
v165 = iconst.i32 0x4ffe
v166 = icmp uge v162, v165
brz v166, ebb17
fallthrough ebb125
ebb125:
trap heap_oob
ebb17:
@@ -275,6 +353,9 @@ ebb17:
v178 = iconst.i32 0x4ffe
v179 = icmp uge v177, v178
brz v179, ebb18
fallthrough ebb126
ebb126:
trap heap_oob
ebb18:
@@ -291,6 +372,9 @@ ebb18:
v190 = iconst.i32 0x4ffe
v191 = icmp.i32 uge v177, v190
brz v191, ebb19
fallthrough ebb127
ebb127:
trap heap_oob
ebb19:
@@ -307,6 +391,9 @@ ebb19:
v201 = iconst.i32 0x4ffe
v202 = icmp uge v200, v201
brz v202, ebb20
fallthrough ebb128
ebb128:
trap heap_oob
ebb20:
@@ -329,6 +416,9 @@ ebb21:
v215 = icmp ult v213, v214
v216 = bint.i32 v215
brnz v216, ebb38(v2, v211, v209, v210, v208, v198, v213, v33, v14)
fallthrough ebb129
ebb129:
v217 = iconst.i32 -1
v218 = iconst.i32 0
v219 = iconst.i32 1
@@ -344,6 +434,9 @@ ebb22(v223: i32, v224: i32, v225: i32, v226: i32, v227: i32, v228: i32, v229: i3
v237 = iconst.i32 0x4ffe
v238 = icmp uge v236, v237
brz v238, ebb23
fallthrough ebb130
ebb130:
trap heap_oob
ebb23:
@@ -357,9 +450,15 @@ ebb23:
v246 = icmp ne v243, v245
v247 = bint.i32 v246
brnz v247, ebb24
fallthrough ebb131
ebb131:
v248 = icmp.i32 ne v224, v226
v249 = bint.i32 v248
brnz v249, ebb25
fallthrough ebb132
ebb132:
v250 = iadd.i32 v227, v226
v251 = iconst.i32 1
jump ebb27(v251, v250, v223, v226)
@@ -368,6 +467,9 @@ ebb24:
v252 = icmp.i32 ule v243, v245
v253 = bint.i32 v252
brnz v253, ebb26
fallthrough ebb133
ebb133:
v254 = isub.i32 v234, v223
v255 = iconst.i32 1
jump ebb27(v255, v234, v223, v254)
@@ -391,10 +493,16 @@ ebb27(v264: i32, v265: i32, v266: i32, v267: i32):
v269 = icmp uge v268, v229
v270 = bint.i32 v269
brnz v270, ebb29
fallthrough ebb134
ebb134:
v271 = iadd.i32 v2, v268
v272 = iconst.i32 0x4ffe
v273 = icmp uge v271, v272
brz v273, ebb28
fallthrough ebb135
ebb135:
trap heap_oob
ebb28:
@@ -424,6 +532,9 @@ ebb31(v285: i32, v286: i32, v287: i32, v288: i32, v289: i32, v290: i32, v291: i3
v300 = iconst.i32 0x4ffe
v301 = icmp uge v299, v300
brz v301, ebb32
fallthrough ebb136
ebb136:
trap heap_oob
ebb32:
@@ -437,9 +548,15 @@ ebb32:
v309 = icmp ne v306, v308
v310 = bint.i32 v309
brnz v310, ebb33
fallthrough ebb137
ebb137:
v311 = icmp.i32 ne v286, v288
v312 = bint.i32 v311
brnz v312, ebb34
fallthrough ebb138
ebb138:
v313 = iadd.i32 v289, v288
v314 = iconst.i32 1
jump ebb36(v314, v313, v285, v288)
@@ -448,6 +565,9 @@ ebb33:
v315 = icmp.i32 uge v306, v308
v316 = bint.i32 v315
brnz v316, ebb35
fallthrough ebb139
ebb139:
v317 = isub.i32 v297, v285
v318 = iconst.i32 1
jump ebb36(v318, v297, v285, v317)
@@ -471,10 +591,16 @@ ebb36(v327: i32, v328: i32, v329: i32, v330: i32):
v332 = icmp uge v331, v291
v333 = bint.i32 v332
brnz v333, ebb38(v2, v330, v292, v329, v293, v294, v291, v295, v296)
fallthrough ebb140
ebb140:
v334 = iadd.i32 v2, v331
v335 = iconst.i32 0x4ffe
v336 = icmp uge v334, v335
brz v336, ebb37
fallthrough ebb141
ebb141:
trap heap_oob
ebb37:
@@ -494,12 +620,18 @@ ebb38(v343: i32, v344: i32, v345: i32, v346: i32, v347: i32, v348: i32, v349: i3
v356 = icmp ugt v353, v355
v357 = bint.i32 v356
brnz v357, ebb39(v344)
fallthrough ebb142
ebb142:
v358 = copy v345
jump ebb39(v358)
ebb39(v359: i32):
v360 = iadd.i32 v343, v359
brnz.i32 v357, ebb40(v346)
fallthrough ebb143
ebb143:
v361 = copy.i32 v347
jump ebb40(v361)
@@ -511,6 +643,9 @@ ebb40(v362: i32):
v367 = icmp eq v365, v366
v368 = bint.i32 v367
brnz v368, ebb63
fallthrough ebb144
ebb144:
v369 = iconst.i32 1
v370 = iadd v362, v369
v371 = isub.i32 v348, v370
@@ -520,6 +655,9 @@ ebb40(v362: i32):
v375 = bint.i32 v374
v376 = copy v362
brnz v375, ebb41(v376)
fallthrough ebb145
ebb145:
v377 = copy v373
jump ebb41(v377)
@@ -536,6 +674,9 @@ ebb42:
v385 = iconst.i32 0x4ffe
v386 = icmp.i32 uge v33, v385
brz v386, ebb43
fallthrough ebb146
ebb146:
trap heap_oob
ebb43:
@@ -557,6 +698,9 @@ ebb44(v392: i32, v393: i32, v394: i32):
v402 = icmp eq v401, v384
v403 = bint.i32 v402
brnz v403, ebb56(v394, v14)
fallthrough ebb147
ebb147:
v404 = iconst.i32 2
v405 = iadd v394, v404
v406 = iconst.i32 1
@@ -564,6 +708,9 @@ ebb44(v392: i32, v393: i32, v394: i32):
v408 = iconst.i32 0x4ffe
v409 = icmp uge v405, v408
brz v409, ebb45
fallthrough ebb148
ebb148:
trap heap_oob
ebb45:
@@ -584,6 +731,9 @@ ebb46:
v420 = iconst.i32 0x4ffe
v421 = icmp.i32 uge v33, v420
brz v421, ebb47
fallthrough ebb149
ebb149:
trap heap_oob
ebb47:
@@ -616,6 +766,9 @@ ebb48(v440: i32, v441: i32):
v446 = iconst.i32 0x4ffe
v447 = icmp uge v445, v446
brz v447, ebb49
fallthrough ebb150
ebb150:
trap heap_oob
ebb49:
@@ -628,6 +781,9 @@ ebb49:
v454 = icmp eq v452, v453
v455 = bint.i32 v454
brnz v455, ebb51(v14)
fallthrough ebb151
ebb151:
v456 = bor.i32 v441, v452
v457 = iconst.i32 8
v458 = ishl v456, v457
@@ -647,6 +803,9 @@ ebb51(v462: i32):
v466 = iconst.i32 0x4ffe
v467 = icmp uge v463, v466
brz v467, ebb52
fallthrough ebb152
ebb152:
trap heap_oob
ebb52:
@@ -657,6 +816,9 @@ ebb52:
store.i32 v465, v471+4
v472 = iconst.i32 0
brnz.i32 v452, ebb53(v443)
fallthrough ebb153
ebb153:
v473 = copy v472
jump ebb53(v473)
@@ -673,6 +835,9 @@ ebb54:
v481 = iconst.i32 0x4ffe
v482 = icmp.i32 uge v33, v481
brz v482, ebb55
fallthrough ebb154
ebb154:
trap heap_oob
ebb55:
@@ -713,6 +878,9 @@ ebb58(v505: i32, v506: i32):
v511 = iconst.i32 0x4ffe
v512 = icmp uge v508, v511
brz v512, ebb59
fallthrough ebb155
ebb155:
trap heap_oob
ebb59:
@@ -725,6 +893,9 @@ ebb59:
v519 = icmp eq v517, v518
v520 = bint.i32 v519
brnz v520, ebb61(v14)
fallthrough ebb156
ebb156:
v521 = iconst.i32 8
v522 = ishl.i32 v506, v521
v523 = bor v522, v517
@@ -739,6 +910,9 @@ ebb60:
ebb61(v526: i32):
v527 = iconst.i32 0
brnz.i32 v517, ebb62(v510)
fallthrough ebb157
ebb157:
v528 = copy v527
jump ebb62(v528)
@@ -772,9 +946,15 @@ ebb65(v547: i32, v548: i32, v549: i32, v550: i32, v551: i32, v552: i32, v553: i3
v564 = icmp uge v563, v549
v565 = bint.i32 v564
brnz v565, ebb67(v547)
fallthrough ebb158
ebb158:
v566 = iconst.i32 0
v567 = call fn2(v0, v547, v566, v550)
brnz v567, ebb66
fallthrough ebb159
ebb159:
v568 = iadd v547, v550
jump ebb67(v568)
@@ -783,6 +963,9 @@ ebb66:
v570 = icmp ult v569, v549
v571 = bint.i32 v570
brnz v571, ebb89(v552)
fallthrough ebb160
ebb160:
v572 = copy.i32 v567
jump ebb67(v572)
@@ -792,6 +975,9 @@ ebb67(v573: i32):
v576 = iconst.i32 0x4ffe
v577 = icmp uge v575, v576
brz v577, ebb68
fallthrough ebb161
ebb161:
trap heap_oob
ebb68:
@@ -813,6 +999,9 @@ ebb68:
v593 = iconst.i32 0x4ffe
v594 = icmp uge v592, v593
brz v594, ebb69
fallthrough ebb162
ebb162:
trap heap_oob
ebb69:
@@ -826,12 +1015,18 @@ ebb69:
v602 = icmp eq v600, v601
v603 = bint.i32 v602
brnz v603, ebb74
fallthrough ebb163
ebb163:
v604 = iconst.i32 2
v605 = ishl.i32 v582, v604
v606 = iadd.i32 v552, v605
v607 = iconst.i32 0x4ffe
v608 = icmp uge v606, v607
brz v608, ebb70
fallthrough ebb164
ebb164:
trap heap_oob
ebb70:
@@ -845,12 +1040,18 @@ ebb70:
v616 = icmp eq v614, v615
v617 = bint.i32 v616
brnz v617, ebb75
fallthrough ebb165
ebb165:
v618 = iconst.i32 1
v619 = iadd v614, v618
v620 = icmp ult v619, v554
v621 = bint.i32 v620
v622 = copy.i32 v553
brnz v621, ebb71(v622)
fallthrough ebb166
ebb166:
v623 = copy v619
jump ebb71(v623)
@@ -879,6 +1080,9 @@ ebb75:
v634 = bint.i32 v633
v635 = copy.i32 v558
brnz v634, ebb76(v635)
fallthrough ebb167
ebb167:
v636 = copy.i32 v555
jump ebb76(v636)
@@ -887,6 +1091,9 @@ ebb76(v637: i32):
v639 = iconst.i32 0x4ffe
v640 = icmp uge v638, v639
brz v640, ebb77
fallthrough ebb168
ebb168:
trap heap_oob
ebb77:
@@ -899,6 +1106,9 @@ ebb77:
v647 = icmp eq v645, v646
v648 = bint.i32 v647
brnz v648, ebb82(v548, v549, v551, v552)
fallthrough ebb169
ebb169:
v649 = iadd.i32 v548, v637
v650 = iadd.i32 v559, v637
v651 = iadd.i32 v560, v637
@@ -910,6 +1120,9 @@ ebb78(v652: i32, v653: i32, v654: i32, v655: i32):
v658 = iconst.i32 0x4ffe
v659 = icmp uge v653, v658
brz v659, ebb79
fallthrough ebb170
ebb170:
trap heap_oob
ebb79:
@@ -923,6 +1136,9 @@ ebb79:
v667 = copy.i32 v554
v668 = copy.i32 v562
brnz v666, ebb87(v548, v654, v573, v549, v550, v551, v552, v553, v667, v668, v557, v558, v559, v560, v561)
fallthrough ebb171
ebb171:
v669 = iconst.i32 1
v670 = iadd.i32 v653, v669
v671 = iconst.i32 1
@@ -930,6 +1146,9 @@ ebb79:
v673 = iconst.i32 0x4ffe
v674 = icmp.i32 uge v655, v673
brz v674, ebb80
fallthrough ebb172
ebb172:
trap heap_oob
ebb80:
@@ -950,6 +1169,9 @@ ebb82(v682: i32, v683: i32, v684: i32, v685: i32):
v686 = icmp.i32 ule v558, v555
v687 = bint.i32 v686
brnz v687, ebb90(v685, v682)
fallthrough ebb173
ebb173:
v688 = copy.i32 v561
jump ebb83(v688)
@@ -958,6 +1180,9 @@ ebb83(v689: i32):
v691 = iconst.i32 0x4ffe
v692 = icmp uge v690, v691
brz v692, ebb84
fallthrough ebb174
ebb174:
trap heap_oob
ebb84:
@@ -970,6 +1195,9 @@ ebb84:
v699 = iconst.i32 0x4ffe
v700 = icmp uge v698, v699
brz v700, ebb85
fallthrough ebb175
ebb175:
trap heap_oob
ebb85:
@@ -981,6 +1209,9 @@ ebb85:
v706 = icmp.i32 ne v697, v705
v707 = bint.i32 v706
brnz v707, ebb86
fallthrough ebb176
ebb176:
v708 = icmp.i32 ule v689, v555
v709 = bint.i32 v708
v710 = iconst.i32 -1
@@ -1019,6 +1250,9 @@ ebb90(v756: i32, v757: i32):
v761 = iconst.i32 0x4ffe
v762 = icmp uge v758, v761
brz v762, ebb91
fallthrough ebb177
ebb177:
trap heap_oob
ebb91:
@@ -1073,6 +1307,9 @@ ebb0(v0: f64, v1: i64):
v24 = icmp ult v22, v23
v25 = bint.i32 v24
brnz v25, ebb10
fallthrough ebb178
ebb178:
v26 = iconst.i64 0x7fff_ffff_ffff_ffff
v27 = band v14, v26
v28 = iconst.i64 0x7ff0_0000_0000_0000
@@ -1086,10 +1323,16 @@ ebb10:
v32 = icmp.i32 ult v22, v31
v33 = bint.i32 v32
brnz v33, ebb8
fallthrough ebb179
ebb179:
v34 = iconst.i32 0x3ff0_a2b2
v35 = icmp.i32 uge v22, v34
v36 = bint.i32 v35
brnz v36, ebb6
fallthrough ebb180
ebb180:
v37 = iconst.i32 1
v38 = bxor.i32 v17, v37
v39 = isub v38, v17
@@ -1106,6 +1349,9 @@ ebb9:
v44 = bint.i32 v43
v45 = bor v42, v44
brnz v45, ebb7
fallthrough ebb181
ebb181:
v141 = iconst.i64 0x7fe0_0000_0000_0000
v46 = bitcast.f64 v141
v47 = fmul.f64 v0, v46
@@ -1116,6 +1362,9 @@ ebb8:
v49 = icmp.i32 ule v22, v48
v50 = bint.i32 v49
brnz v50, ebb3
fallthrough ebb182
ebb182:
v51 = iconst.i32 0
v142 = iconst.i64 0
v52 = bitcast.f64 v142
@@ -1129,6 +1378,9 @@ ebb7:
v55 = bint.i32 v54
v56 = bor v55, v44
brnz v56, ebb6
fallthrough ebb183
ebb183:
v144 = iconst.i64 0xb6a0_0000_0000_0000
v57 = bitcast.f64 v144
v58 = fdiv v57, v0
@@ -1165,8 +1417,14 @@ ebb6:
v158 = iconst.i32 0x8000_0000
v154 = icmp ne v76, v158
brnz v154, ebb11
fallthrough ebb184
ebb184:
v155 = fcmp uno v75, v75
brz v155, ebb12
fallthrough ebb185
ebb185:
trap bad_toint
ebb12:
@@ -1174,6 +1432,9 @@ ebb12:
v156 = bitcast.f64 v159
v157 = fcmp ge v156, v75
brz v157, ebb13
fallthrough ebb186
ebb186:
trap int_ovf
ebb13:
@@ -1230,6 +1491,9 @@ ebb4(v86: f64, v87: f64, v108: f64, v113: i32):
v114 = icmp eq v113, v169
v115 = bint.i32 v114
brnz v115, ebb2(v12, v112)
fallthrough ebb187
ebb187:
v116 = call fn0(v112, v113, v1)
jump ebb2(v12, v116)

View File

@@ -14,15 +14,27 @@ ebb0(v0: i32, v1: i64):
ebb4(v11: i64, v29: i64):
v6 = iconst.i32 0
brz v6, ebb14
fallthrough ebb15
ebb15:
v9 = iconst.i32 -17
v12 = iconst.i32 0xffff_ffff_ffff_8000
jump ebb9(v12)
ebb9(v10: i32):
brnz v10, ebb8(v9, v11, v11)
fallthrough ebb16
ebb16:
brz.i32 v9, ebb13
fallthrough ebb17
ebb17:
v13 = iconst.i32 0
brnz v13, ebb6(v11, v11)
fallthrough ebb18
ebb18:
v14 = iconst.i32 0
brz v14, ebb12
jump ebb11
@@ -40,6 +52,9 @@ ebb13:
ebb10(v21: i64):
v16 = iconst.i32 0
brnz v16, ebb6(v21, v11)
fallthrough ebb19
ebb19:
v17 = iconst.i32 0xffff_ffff_ffff_9f35
jump ebb8(v17, v21, v11)

View File

@@ -17,6 +17,9 @@ function %pr227(i32 [%rdi], i32 [%rsi], i32 [%rdx], i32 [%rcx], i64 vmctx [%r8])
ebb6:
[RexOp1pu_id#b8] v8 = iconst.i32 0
[RexOp1tjccb#75] brnz v8, ebb5
[-] fallthrough ebb20
ebb20:
[RexOp1pu_id#b8] v9 = iconst.i32 0
[RexOp1pu_id#b8] v11 = iconst.i32 0
[RexOp1icscc#39] v12 = icmp.i32 eq v15, v11
@@ -27,8 +30,14 @@ function %pr227(i32 [%rdi], i32 [%rsi], i32 [%rdx], i32 [%rcx], i64 vmctx [%r8])
ebb7:
[RexOp1tjccb#74] brz.i32 v17, ebb8
[-] fallthrough ebb17
ebb17:
[RexOp1pu_id#b8] v18 = iconst.i32 0
[RexOp1tjccb#74] brz v18, ebb9
[-] fallthrough ebb16
ebb16:
[RexOp1pu_id#b8] v21 = iconst.i32 0
[RexOp1umr#89] v79 = uextend.i64 v5
[RexOp1r_ib#8083] v80 = iadd_imm.i64 v4, 0
@@ -63,8 +72,14 @@ function %pr227(i32 [%rdi], i32 [%rsi], i32 [%rdx], i32 [%rcx], i64 vmctx [%r8])
ebb2(v7: i32, v45: i32, v52: i32, v59: i32, v66: i32, v73: i32):
[RexOp1pu_id#b8] v44 = iconst.i32 0
[RexOp1tjccb#74] brz v44, ebb12
[-] fallthrough ebb18
ebb18:
[RexOp1pu_id#b8] v50 = iconst.i32 11
[RexOp1tjccb#74] brz v50, ebb14
[-] fallthrough ebb19
ebb19:
[RexOp1umr#89] v82 = uextend.i64 v52
[RexOp1r_ib#8083] v83 = iadd_imm.i64 v4, 0
[RexOp1ld#808b] v84 = load.i64 v83

View File

@@ -20,6 +20,9 @@ ebb5(v9: f64):
v6 = iconst.i32 0
v7 = iconst.i32 1
brnz v7, ebb4(v6)
fallthrough ebb8
ebb8:
v8 = iconst.i32 0
jump ebb7(v8)

View File

@@ -14,6 +14,9 @@ ebb0(v0: i32):
v4 = icmp_imm ne v0, 4
v5 = icmp_imm sge v0, 5
brnz v5, ebb1
fallthrough ebb2
ebb2:
return
ebb1:

View File

@@ -20,6 +20,9 @@ ebb0(v0: i64, v1: f32, v2: f64, v3: i32, v4: i32, v5: i64):
v44 = iconst.i64 0
v37 = icmp slt v0, v44
brnz v37, ebb2
fallthrough ebb11
ebb11:
v38 = fcvt_from_sint.f64 v0
jump ebb3(v38)
@@ -41,6 +44,9 @@ ebb3(v15: f64):
v54 = iconst.i64 0
v47 = icmp.i64 slt v13, v54
brnz v47, ebb4
fallthrough ebb12
ebb12:
v48 = fcvt_from_sint.f64 v13
jump ebb5(v48)
@@ -57,6 +63,9 @@ ebb5(v20: f64):
v63 = iconst.i64 0
v56 = icmp.i64 slt v7, v63
brnz v56, ebb6
fallthrough ebb13
ebb13:
v57 = fcvt_from_sint.f64 v7
jump ebb7(v57)
@@ -82,8 +91,14 @@ ebb7(v21: f64):
v69 = iconst.i64 0x8000_0000_0000_0000
v65 = icmp ne v30, v69
brnz v65, ebb8
fallthrough ebb15
ebb15:
v66 = fcmp uno v29, v29
brz v66, ebb9
fallthrough ebb16
ebb16:
trap bad_toint
ebb9:
@@ -91,6 +106,9 @@ ebb9:
v67 = bitcast.f64 v70
v68 = fcmp gt v67, v29
brz v68, ebb10
fallthrough ebb17
ebb17:
trap int_ovf
ebb10:
@@ -118,6 +136,9 @@ ebb0(v0: i64):
v7 = icmp uge v3, v6
; If we're unlucky, there are no ABCD registers available for v7 at this branch.
brz v7, ebb2
fallthrough ebb4
ebb4:
trap oob
ebb2:
@@ -128,6 +149,9 @@ ebb2:
v11 = iadd v8, v10
v12 = load.i64 v11
brnz v12, ebb3
fallthrough ebb5
ebb5:
trap icall_null
ebb3:

View File

@@ -25,6 +25,9 @@ ebb0(v0: i64):
v20 = iconst.i32 0x4ffe
v16 = icmp uge v2, v20
brz v16, ebb5
fallthrough ebb9
ebb9:
trap heap_oob
ebb5:
@@ -44,6 +47,9 @@ ebb3(v7: i32):
v26 = iconst.i32 0x4ffe
v22 = icmp uge v7, v26
brz v22, ebb6
fallthrough ebb10
ebb10:
trap heap_oob
ebb6:
@@ -65,6 +71,9 @@ ebb2:
v31 = iconst.i32 0x4ffe
v27 = icmp uge v10, v31
brz v27, ebb7
fallthrough ebb11
ebb11:
trap heap_oob
ebb7:
@@ -78,6 +87,9 @@ ebb7:
v36 = iconst.i32 0x4ffe
v32 = icmp uge v13, v36
brz v32, ebb8
fallthrough ebb12
ebb12:
trap heap_oob
ebb8:

View File

@@ -151,6 +151,9 @@ ebb0(v1: i32):
; check: v1 = spill
v2 = iconst.i32 1
brnz v1, ebb1(v2, v2, v2, v2, v2, v2, v2, v2, v2, v2, v2, v2)
fallthrough ebb2
ebb2:
return v1
ebb1(v10: i32, v11: i32, v12: i32, v13: i32, v14: i32, v15: i32, v16: i32, v17: i32, v18: i32, v19: i32, v20: i32, v21: i32):