Pseudocode: Track merged values. Compute closure of value usages over merge instructions. Exclude merge instructions from usage lists

This commit is contained in:
Alexey Sedunov
2014-07-17 16:29:42 +04:00
parent 267ea81bbe
commit ffd4af872c
4 changed files with 50 additions and 27 deletions
@@ -268,8 +268,8 @@ fun t11() {
}
}
---------------------
1 <v0>: * NEW: r(1) -> <v0>
2 <v1>: Unit NEW: r(2) -> <v1>
1 <v0>: {<: Unit} NEW: r(1) -> <v0>
2 <v1>: {<: Unit} NEW: r(2) -> <v1>
=====================
== t12 ==
fun t12() : Int {
@@ -17,7 +17,7 @@ fun dowhile() {
while(0 > 1)
}
---------------------
0 <v0>: * NEW: r(0) -> <v0>
1 <v1>: * NEW: r(1) -> <v1>
0 > 1 <v2>: * NEW: call(0 > 1, compareTo|<v0>, <v1>) -> <v2>
0 <v0>: {<: Comparable<Int>} NEW: r(0) -> <v0>
1 <v1>: Int NEW: r(1) -> <v1>
0 > 1 <v2>: Boolean NEW: call(0 > 1, compareTo|<v0>, <v1>) -> <v2>
=====================