Files
wasmtime/cranelift/filetests/filetests/cfg/loop.clif
2019-07-31 15:20:08 +02:00

57 lines
1.5 KiB
Plaintext

; For testing cfg generation. This code is nonsense.
test print-cfg
test verifier
function %nonsense(i32, i32) -> f32 {
; regex: I=\binst\d+\b
; check: digraph "%nonsense" {
; check: ebb0 [shape=record, label="{ebb0(v1: i32, v2: i32):
; check: | <$(BRZ=$I)>brz v2, ebb2
; nextln: | <$(JUMP0=$I)>jump ebb3
; nextln: }"]
; nextln: ebb3 [shape=record, label="{ebb3:
; check: | <$(JUMP3=$I)>jump ebb1(v4)
; nextln: }"]
; nextln: ebb1 [shape=record, label="{ebb1(v5: i32):
; check: | <$(BRNZ1=$I)>brnz v13, ebb1(v12)
; nextln: | <$(JUMP1=$I)>jump ebb4
; nextln: }"]
; nextln: ebb4 [shape=record, label="{ebb4:
; check: | <$I>return v17
; nextln: }"]
; nextln: ebb2 [shape=record, label="{ebb2:
; check: | <$I>return v100
; check:}"]
ebb0(v1: i32, v2: i32):
v3 = f64const 0x0.0
brz v2, ebb2 ; unordered: ebb0:$BRZ -> ebb2
jump ebb3 ; unordered: ebb0:$JUMP0 -> ebb3
ebb3:
v4 = iconst.i32 0
jump ebb1(v4) ; unordered: ebb3:$JUMP3 -> ebb1
ebb1(v5: i32):
v6 = imul_imm v5, 4
v7 = iadd v1, v6
v8 = f32const 0.0
v9 = f32const 0.0
v10 = f32const 0.0
v11 = fadd v9, v10
v12 = iadd_imm v5, 1
v13 = icmp ult v12, v2
brnz v13, ebb1(v12) ; unordered: ebb1:$BRNZ1 -> ebb1
jump ebb4 ; unordered: ebb1:$JUMP1 -> ebb4
ebb4:
v14 = f64const 0.0
v15 = f64const 0.0
v16 = fdiv v14, v15
v17 = f32const 0.0
return v17
ebb2:
v100 = f32const 0.0
return v100
}