Files
wasmtime/cranelift/filetests/filetests/licm/reject.clif
Trevor Elliott a5698cedf8 cranelift: Remove brz and brnz (#5630)
Remove the brz and brnz instructions, as their behavior is now redundant with brif.
2023-01-30 20:34:56 +00:00

66 lines
1014 B
Plaintext

test licm
target riscv32
function %other_side_effects(i32) -> i32 {
block0(v0: i32):
jump block1(v0)
block1(v1: i32):
v2 = iconst.i32 1
brif v1, block2, block3(v1)
block2:
v5 = isub v1, v2
jump block1(v5)
block3(v6: i32):
return v6
}
function %spill(i32, i32) -> i32 {
block0(v0: i32, v1: i32):
v2 = spill.i32 v0
jump block1(v0, v1)
block1(v3: i32, v4: i32):
v5 = spill.i32 v1
v6 = fill.i32 v2
v7 = fill.i32 v5
; check: block1(v3: i32, v4: i32):
; check: v5 = spill.i32 v1
; check: v6 = fill.i32 v2
; check: v7 = fill v5
brif v1, block2, block3(v1)
block2:
v9 = isub v1, v4
jump block1(v9, v3)
block3(v10: i32):
return v10
}
function %non_invariant_aliases(i32) -> i32 {
block0(v0: i32):
jump block1(v0)
block1(v1: i32):
v8 -> v1
v9 -> v1
v2 = iadd v8, v9
; check: block1(v1: i32):
; check: v2 = iadd v8, v9
brif v1, block2, block3(v1)
block2:
v5 = isub v1, v2
jump block1(v5)
block3(v6: i32):
return v6
}