Switch branch order opt from brif/brff to br_icmp, as that's what frontends should produce.

This commit is contained in:
Tyler McMullen
2019-01-02 20:24:50 -08:00
committed by Benjamin Bouvier
parent 571b87414f
commit fd6940baaf
2 changed files with 40 additions and 95 deletions

View File

@@ -55,10 +55,9 @@ ebb2:
; nextln: return v4
; nextln: }
function %brif_inversion(i32) -> i32 {
ebb0(v0: i32):
v1 = ifcmp_imm v0, 42
brif ugt v1, ebb1
function %br_icmp_inversion(i32, i32) -> i32 {
ebb0(v0: i32, v1: i32):
br_icmp ugt v0, v1, ebb1
jump ebb2
ebb1:
v2 = iconst.i32 1
@@ -67,10 +66,9 @@ ebb2:
v3 = iconst.i32 2
return v3
}
; sameln: function %brif_inversion
; nextln: ebb0(v0: i32):
; nextln: v1 = ifcmp_imm v0, 42
; nextln: brif ule v1, ebb2
; sameln: function %br_icmp_inversio
; nextln: ebb0(v0: i32, v1: i32):
; nextln: br_icmp ule v0, v1, ebb2
; nextln: fallthrough ebb1
; nextln:
; nextln: ebb1:
@@ -81,30 +79,3 @@ ebb2:
; nextln: v3 = iconst.i32 2
; nextln: return v3
; nextln: }
function %brff_inversion(f32, f32) -> i32 {
ebb0(v0: f32, v1: f32):
v2 = ffcmp v0, v1
brff gt v2, ebb1
jump ebb2
ebb1:
v3 = iconst.i32 1
return v3
ebb2:
v4 = iconst.i32 2
return v4
}
; sameln: function %brff_inversion
; nextln: ebb0(v0: f32, v1: f32):
; nextln: v2 = ffcmp v0, v1
; nextln: brff ule v2, ebb2
; nextln: fallthrough ebb1
; nextln:
; nextln: ebb1:
; nextln: v3 = iconst.i32 1
; nextln: return v3
; nextln:
; nextln: ebb2:
; nextln: v4 = iconst.i32 2
; nextln: return v4
; nextln: }