* Manually rename BasicBlock to BlockPredecessor BasicBlock is a pair of (Ebb, Inst) that is used to represent the basic block subcomponent of an Ebb that is a predecessor to an Ebb. Eventually we will be able to remove this struct, but for now it makes sense to give it a non-conflicting name so that we can start to transition Ebb to represent a basic block. I have not updated any comments that refer to BasicBlock, as eventually we will remove BlockPredecessor and replace with Block, which is a basic block, so the comments will become correct. * Manually rename SSABuilder block types to avoid conflict SSABuilder has its own Block and BlockData types. These along with associated identifier will cause conflicts in a later commit, so they are renamed to be more verbose here. * Automatically rename 'Ebb' to 'Block' in *.rs * Automatically rename 'EBB' to 'block' in *.rs * Automatically rename 'ebb' to 'block' in *.rs * Automatically rename 'extended basic block' to 'basic block' in *.rs * Automatically rename 'an basic block' to 'a basic block' in *.rs * Manually update comment for `Block` `Block`'s wikipedia article required an update. * Automatically rename 'an `Block`' to 'a `Block`' in *.rs * Automatically rename 'extended_basic_block' to 'basic_block' in *.rs * Automatically rename 'ebb' to 'block' in *.clif * Manually rename clif constant that contains 'ebb' as substring to avoid conflict * Automatically rename filecheck uses of 'EBB' to 'BB' 'regex: EBB' -> 'regex: BB' '$EBB' -> '$BB' * Automatically rename 'EBB' 'Ebb' to 'block' in *.clif * Automatically rename 'an block' to 'a block' in *.clif * Fix broken testcase when function name length increases Test function names are limited to 16 characters. This causes the new longer name to be truncated and fail a filecheck test. An outdated comment was also fixed.
101 lines
2.4 KiB
Plaintext
101 lines
2.4 KiB
Plaintext
test compile
|
|
set opt_level=speed
|
|
set enable_pinned_reg=true
|
|
target x86_64 haswell
|
|
|
|
function u0:0(i32, i32, i32, i64 vmctx) -> i64 uext system_v {
|
|
block0(v0: i32, v1: i32, v2: i32, v3: i64):
|
|
v236 = iconst.i32 0x4de9_bd37
|
|
v424 = iconst.i32 0
|
|
jump block37(v424)
|
|
|
|
block37(v65: i32):
|
|
v433 = iconst.i32 0
|
|
jump block40(v433)
|
|
|
|
block40(v70: i32):
|
|
v75 = iconst.i32 0
|
|
v259 = iconst.i32 0
|
|
v78 -> v259
|
|
v449 = iconst.i32 0
|
|
v450, v451 = x86_sdivmodx v75, v449, v259
|
|
v79 -> v450
|
|
v269 = iconst.i32 0
|
|
v270 = ushr_imm v269, 31
|
|
v271 = iadd v269, v270
|
|
v98 -> v271
|
|
v100 = iconst.i32 -31
|
|
v272 = iconst.i32 0x4de9_bd37
|
|
v490, v273 = x86_smulx v100, v272
|
|
v493 = iconst.i32 0
|
|
jump block61(v493)
|
|
|
|
block61(v103: i32):
|
|
v104 = iconst.i32 -23
|
|
v105 = iconst.i32 -23
|
|
v106 = popcnt v105
|
|
v500 = sshr_imm v104, 31
|
|
v501 = iconst.i32 0
|
|
jump block64(v501)
|
|
|
|
block64(v107: i32):
|
|
v108 = iconst.i32 0
|
|
v109 = iconst.i32 0
|
|
v278 = iconst.i32 0
|
|
v507, v279 = x86_smulx v109, v278
|
|
v280 = isub v279, v109
|
|
v281 = sshr_imm v280, 11
|
|
v282 = iconst.i32 0
|
|
v283 = iadd v281, v282
|
|
v111 -> v283
|
|
v112 = rotr v108, v283
|
|
jump block65
|
|
|
|
block65:
|
|
v509 = iconst.i32 0
|
|
v510, v511 = x86_sdivmodx v107, v509, v112
|
|
v113 -> v510
|
|
v114 = iconst.i32 0
|
|
v517 = iconst.i32 0
|
|
v518, v519 = x86_sdivmodx v103, v517, v114
|
|
v115 -> v518
|
|
v534 = iconst.i32 0
|
|
v122 -> v534
|
|
v541 = iconst.i32 0
|
|
v542, v543 = x86_sdivmodx v271, v541, v122
|
|
v123 -> v542
|
|
v289 = iconst.i32 0
|
|
v125 -> v289
|
|
v550 = iconst.i32 0
|
|
v551, v552 = x86_sdivmodx v79, v550, v289
|
|
v126 -> v551
|
|
v130 = iconst.i32 0
|
|
v558 = iconst.i32 0
|
|
v559, v560 = x86_sdivmodx v70, v558, v130
|
|
v131 -> v559
|
|
v305 = iconst.i32 0
|
|
v140 -> v305
|
|
v577 = iconst.i32 0
|
|
v578, v579 = x86_sdivmodx v65, v577, v305
|
|
v141 -> v578
|
|
v166 = iconst.i32 0
|
|
v167 = iconst.i32 -31
|
|
v318 = iconst.i32 0x4de9_bd37
|
|
v650, v319 = x86_smulx v167, v318
|
|
v320 = isub v319, v167
|
|
v321 = sshr_imm v320, 4
|
|
v322 = iconst.i32 0
|
|
v323 = iadd v321, v322
|
|
v169 -> v323
|
|
v652 = iconst.i32 0
|
|
v653, v654 = x86_sdivmodx v166, v652, v323
|
|
v170 -> v653
|
|
v171 = iconst.i32 -23
|
|
v172 = iconst.i32 -23
|
|
v173 = popcnt v172
|
|
v174 = popcnt v173
|
|
v660 = sshr_imm v171, 31
|
|
v661, v662 = x86_sdivmodx v171, v660, v174
|
|
trap user0
|
|
}
|