Files
wasmtime/filetests/simple_gvn/basic.cton

42 lines
783 B
Plaintext

test simple-gvn
function %simple_redundancy(i32, i32) -> i32 {
ebb0(v0: i32, v1: i32):
v2 = iadd v0, v1
v3 = iadd v0, v1
v4 = imul v2, v3
; check: v4 = imul $v2, $v2
return v4
}
function %cascading_redundancy(i32, i32) -> i32 {
ebb0(v0: i32, v1: i32):
v2 = iadd v0, v1
v3 = iadd v0, v1
v4 = imul v2, v3
v5 = imul v2, v2
v6 = iadd v4, v5
; check: v6 = iadd $v4, $v4
return v6
}
function %redundancies_on_some_paths(i32, i32, i32) -> i32 {
ebb0(v0: i32, v1: i32, v2: i32):
v3 = iadd v0, v1
brz v3, ebb1
v4 = iadd v0, v1
jump ebb2(v4)
; check: jump ebb2(v3)
ebb1:
v5 = iadd v0, v1
jump ebb2(v5)
; check: jump ebb2(v3)
ebb2(v6: i32):
v7 = iadd v0, v1
v8 = iadd v6, v7
; check: v8 = iadd v6, v3
return v8
}