diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLoweringPhases.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLoweringPhases.kt index cdfe54419d0..7c859edddb2 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLoweringPhases.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLoweringPhases.kt @@ -7,6 +7,7 @@ import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesExtractionFr import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineFunctionsLowering import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineLambdasLowering import org.jetbrains.kotlin.backend.common.lower.loops.ForLoopsLowering +import org.jetbrains.kotlin.backend.common.lower.optimizations.FoldConstantLowering import org.jetbrains.kotlin.backend.common.phaser.* import org.jetbrains.kotlin.backend.konan.lower.* import org.jetbrains.kotlin.backend.konan.lower.FinallyBlocksLowering @@ -352,4 +353,10 @@ internal val ifNullExpressionsFusionPhase = makeKonanFileLoweringPhase( ::IfNullExpressionsFusionLowering, name = "IfNullExpressionsFusionLowering", description = "Simplify '?.' and '?:' operator chains" +) + +internal val foldConstantLoweringPhase = makeKonanFileOpPhase( + { context, irFile -> FoldConstantLowering(context).lower(irFile) }, + name = "FoldConstantLowering", + description = "Constant Folding" ) \ No newline at end of file diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt index 21ed5a183a7..48adc5a4c84 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt @@ -363,6 +363,7 @@ internal val allLoweringsPhase = NamedCompilerPhase( enumConstructorsPhase, initializersPhase, localFunctionsPhase, + foldConstantLoweringPhase, tailrecPhase, defaultParameterExtentPhase, innerClassPhase,