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
@@ -1,7 +1,8 @@
val a = false
val b = false
val c = false
fun main() {
val a = false
val b = false
val c = false
if (a && b && c) {
"then"
} else {
@@ -9,7 +10,7 @@ fun main() {
}
}
// 3 ICONST_0
// 0 ICONST_0
// 0 ICONST_1
// 3 IFEQ
// 0 IFNE
@@ -1,7 +1,8 @@
val a = false
val b = false
val c = false
fun main() {
val a = false
val b = false
val c = false
if (a || b || c) {
"then"
} else {
@@ -9,7 +10,7 @@ fun main() {
}
}
// 3 ICONST_0
// 0 ICONST_0
// 0 ICONST_1
// 1 IFEQ
// 2 IFNE
@@ -1,7 +1,8 @@
val a = false
val b = false
val c = false
fun main() {
val a = false
val b = false
val c = false
if (!(a && b && c)) {
"then"
} else {
@@ -9,7 +10,7 @@ fun main() {
}
}
// 3 ICONST_0
// 0 ICONST_0
// 0 ICONST_1
// 2 IFEQ
// 1 IFNE
@@ -1,7 +1,8 @@
val a = false
val b = false
val c = false
fun main() {
val a = false
val b = false
val c = false
if (!(a || b || c)) {
"then"
} else {
@@ -9,7 +10,7 @@ fun main() {
}
}
// 3 ICONST_0
// 0 ICONST_0
// 0 ICONST_1
// 0 IFEQ
// 3 IFNE
@@ -1,5 +1,6 @@
val a = 1
fun main() {
val a = 1
if (!(a == 0)) {
"then"
} else {
@@ -1,5 +1,6 @@
val a = 1
fun main() {
val a = 1
if (a == 0) {
"then"
} else {