[WASM] Add ConstEvaluationLowering to the lowering list
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND_K1: WASM
|
||||
var initialized = 0
|
||||
|
||||
object O {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// IGNORE_BACKEND_K2: WASM
|
||||
|
||||
object A {
|
||||
const val a: String = "$"
|
||||
const val b = "1234$a"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
fun <T> T.id() = this
|
||||
|
||||
const val trueVal = <!EVALUATED("true")!>true<!>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
fun <T> T.id() = this
|
||||
|
||||
const val minusOneVal = (-1).<!EVALUATED("-1")!>toByte()<!>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// WITH_STDLIB
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
const val BOOL = <!EVALUATED("true")!>true<!>
|
||||
const val BOOL_OR = <!EVALUATED("false")!>false && BOOL<!>
|
||||
const val BOOL_AND = <!EVALUATED("true")!>true || BOOL<!>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
fun <T> T.id() = this
|
||||
|
||||
const val minusOneVal = <!EVALUATED("-1.0")!>-1.0<!>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
fun <T> T.id() = this
|
||||
|
||||
const val minusOneVal = <!EVALUATED("-1.0")!>-1.0f<!>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Can't be tested in JVM because frontend doesn't allow such code
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM_IR
|
||||
// WITH_STDLIB
|
||||
|
||||
package java.lang
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
|
||||
package java2d
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
fun <T> T.id() = this
|
||||
|
||||
const val minusOneVal = <!EVALUATED("-1")!>-1<!>
|
||||
|
||||
+3
-4
@@ -1,8 +1,7 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE, WASM
|
||||
// WITH_STDLIB
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
+3
-4
@@ -1,8 +1,7 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE, WASM
|
||||
// WITH_STDLIB
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
+3
-4
@@ -1,8 +1,7 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE, WASM
|
||||
fun <T> T.id() = this
|
||||
|
||||
enum class EnumClass {
|
||||
|
||||
+2
-3
@@ -1,7 +1,6 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
+2
-3
@@ -1,7 +1,6 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
+3
-4
@@ -1,8 +1,7 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE, WASM
|
||||
fun <T> T.id() = this
|
||||
|
||||
const val flag = <!EVALUATED("true")!>true<!>
|
||||
|
||||
+3
-4
@@ -1,8 +1,7 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE, WASM
|
||||
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
Vendored
+2
-3
@@ -1,7 +1,6 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// WITH_STDLIB
|
||||
|
||||
fun <T> T.id() = this
|
||||
|
||||
+3
-4
@@ -1,8 +1,7 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// IGNORE_BACKEND_K1: JVM_IR, JS_IR, JS_IR_ES6, NATIVE, WASM
|
||||
|
||||
// FILE: 1.kt
|
||||
|
||||
|
||||
+2
-3
@@ -1,7 +1,6 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
|
||||
var result = "Fail"
|
||||
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// WITH_STDLIB
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// TARGET_BACKEND: WASM
|
||||
fun <T> T.id() = this
|
||||
|
||||
const val toStringDouble1 = 1.0.<!EVALUATED("1.0")!>toString()<!>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
fun <T> T.id() = this
|
||||
|
||||
const val minusOneVal = <!EVALUATED("-1")!>-1L<!>
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
annotation class Key(val value: String)
|
||||
|
||||
object Messanger {
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
|
||||
Vendored
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
|
||||
Vendored
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// WITH_STDLIB
|
||||
|
||||
// MODULE: lib
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// WITH_STDLIB
|
||||
|
||||
// MODULE: lib
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
fun <T> T.id() = this
|
||||
|
||||
const val minusOneVal = (-1).<!EVALUATED("-1")!>toShort()<!>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// WITH_STDLIB
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// WITH_STDLIB
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
|
||||
object K : Code("K")
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// WITH_STDLIB
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// WITH_STDLIB
|
||||
|
||||
object Test {
|
||||
|
||||
+2
-3
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
|
||||
object Test
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// WITH_STDLIB
|
||||
fun <T> T.id() = this
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JVM
|
||||
// DONT_TARGET_EXACT_BACKEND: JS
|
||||
// This test is needed to check that IrCompileTimeChecker will not fail trying to find and analyze correct toString method
|
||||
|
||||
object Obj {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// TARGET_BACKEND: WASM
|
||||
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 12_946
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 12_559
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 4_526
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// TARGET_BACKEND: WASM
|
||||
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 40_730
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 38_992
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 4_552
|
||||
|
||||
fun box(): String {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// TARGET_BACKEND: WASM
|
||||
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 14_307
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 13_922
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 5_081
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
// TARGET_BACKEND: WASM
|
||||
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 18_621
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 17_619
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 4_398
|
||||
|
||||
// Muting because K2 DCE code size was less than expected (17377)
|
||||
// IGNORE_BACKEND_K2: WASM
|
||||
|
||||
object Simple
|
||||
|
||||
object SimpleWithConstVal {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// TARGET_BACKEND: WASM
|
||||
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 12_988
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 12_601
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 4_398
|
||||
|
||||
fun box() = "OK"
|
||||
@@ -1,7 +1,7 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: WASM
|
||||
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 13_506
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 13_109
|
||||
|
||||
interface I {
|
||||
fun foo() = "OK"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// IGNORE_BACKEND_K1: WASM
|
||||
// IGNORE_BACKEND_K2: WASM
|
||||
// WITH_STDLIB
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
Reference in New Issue
Block a user