Fix bytecode tests after new optimizations

- Turn some const conditions into non-const conditions
- Make sure inlined const values are used where required
(otherwise they are eliminated by POP backward propagation)
This commit is contained in:
Dmitry Petrov
2017-05-12 17:27:32 +03:00
parent 2051355d6a
commit 1378b0cf05
22 changed files with 84 additions and 60 deletions
@@ -12,11 +12,13 @@ fun builder(c: suspend () -> Unit) {
c.startCoroutine(EmptyContinuation)
}
val nonConstOne = 1
fun box(): String {
var result = "fail 1"
builder {
// Initialize var with Int value
for (i in 1..1) {
for (i in 1..nonConstOne) {
if ("".length > 0) continue
}
@@ -43,4 +45,4 @@ fun box(): String {
// 1 LOCALVARIABLE s Ljava/lang/String; L.* 3
// 0 PUTFIELD VarValueConflictsWithTableKt\$box\$1.I\$0 : I
/* 2 loads in cycle */
// 2 ILOAD 3
// 2 ILOAD 3