[Wasm] Enable for loops optimization

This commit is contained in:
Svyatoslav Kuzmich
2020-11-09 17:18:03 +03:00
committed by Svyatoslav Kuzmich
parent 233bb47b99
commit 7f26deb5e6
2 changed files with 13 additions and 1 deletions
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.backend.wasm
import org.jetbrains.kotlin.backend.common.FileLoweringPass
import org.jetbrains.kotlin.backend.common.lower.*
import org.jetbrains.kotlin.backend.common.lower.inline.FunctionInlining
import org.jetbrains.kotlin.backend.common.lower.loops.ForLoopsLowering
import org.jetbrains.kotlin.backend.common.phaser.*
import org.jetbrains.kotlin.backend.wasm.lower.*
import org.jetbrains.kotlin.ir.backend.js.lower.*
@@ -399,6 +400,12 @@ private val virtualDispatchReceiverExtractionPhase = makeWasmModulePhase(
description = "Eliminate side-effects in dispatch receivers of virtual function calls"
)
private val forLoopsLoweringPhase = makeWasmModulePhase(
::ForLoopsLowering,
name = "ForLoopsLowering",
description = "[Optimization] For loops lowering"
)
val wasmPhases = NamedCompilerPhase(
name = "IrModuleLowering",
description = "IR module lowering",
@@ -447,6 +454,9 @@ val wasmPhases = NamedCompilerPhase(
stringConstructorLowering then
returnableBlockLoweringPhase then
forLoopsLoweringPhase then
defaultArgumentStubGeneratorPhase then
defaultArgumentPatchOverridesPhase then
defaultParameterInjectorPhase then