CFA test data updated

This commit is contained in:
Andrey Breslav
2013-12-03 18:26:27 +04:00
parent ef194ffe23
commit 81003ba298
15 changed files with 554 additions and 809 deletions
@@ -6,17 +6,13 @@ fun main() {
}
---------------------
L0:
<START> NEXT:[r(while(1 > 0) { 2 }) ] PREV:[]
r(while(1 > 0) {
2
}) NEXT:[r(1)] PREV:[<START>]
<START> NEXT:[r(1)] PREV:[]
L2 [loop entry point]:
L5 [condition entry point]:
r(1) NEXT:[r(0)] PREV:[r(while(1 > 0) { 2 }) , jmp(L2 [loop entry point])]
r(0) NEXT:[r(>)] PREV:[r(1)]
r(>) NEXT:[r(1 > 0)] PREV:[r(0)]
r(1 > 0) NEXT:[jf(L3 [loop exit point])] PREV:[r(>)]
jf(L3 [loop exit point]) NEXT:[read (Unit), r(2)] PREV:[r(1 > 0)]
r(1) NEXT:[r(0)] PREV:[<START>, jmp(L2 [loop entry point])]
r(0) NEXT:[call(>, compareTo)] PREV:[r(1)]
call(>, compareTo) NEXT:[jf(L3 [loop exit point])] PREV:[r(0)]
jf(L3 [loop exit point]) NEXT:[read (Unit), r(2)] PREV:[call(>, compareTo)]
L4 [body entry point]:
r(2) NEXT:[jmp(L2 [loop entry point])] PREV:[jf(L3 [loop exit point])]
jmp(L2 [loop entry point]) NEXT:[r(1)] PREV:[r(2)]
@@ -36,24 +32,21 @@ fun dowhile() {
}
---------------------
L0:
<START> NEXT:[r(do {return} while(1 > 0)) ] PREV:[]
r(do {return}
while(1 > 0)) NEXT:[ret L1] PREV:[<START>]
<START> NEXT:[ret L1] PREV:[]
L2 [loop entry point]:
L4 [body entry point]:
ret L1 NEXT:[<END>] PREV:[r(do {return} while(1 > 0)) ]
ret L1 NEXT:[<END>] PREV:[<START>]
L5 [condition entry point]:
- r(1) NEXT:[r(0)] PREV:[]
- r(0) NEXT:[r(>)] PREV:[]
- r(>) NEXT:[r(1 > 0)] PREV:[]
- r(1 > 0) NEXT:[jt(L2 [loop entry point])] PREV:[]
- jt(L2 [loop entry point]) NEXT:[read (Unit), ret L1] PREV:[]
- r(1) NEXT:[r(0)] PREV:[]
- r(0) NEXT:[call(>, compareTo)] PREV:[]
- call(>, compareTo) NEXT:[jt(L2 [loop entry point])] PREV:[]
- jt(L2 [loop entry point]) NEXT:[read (Unit), ret L1] PREV:[]
L3 [loop exit point]:
- read (Unit) NEXT:[<END>] PREV:[]
- read (Unit) NEXT:[<END>] PREV:[]
L1:
<END> NEXT:[<SINK>] PREV:[ret L1]
<END> NEXT:[<SINK>] PREV:[ret L1]
error:
<ERROR> NEXT:[<SINK>] PREV:[]
<ERROR> NEXT:[<SINK>] PREV:[]
sink:
<SINK> NEXT:[] PREV:[<ERROR>, <END>]
<SINK> NEXT:[] PREV:[<ERROR>, <END>]
=====================