From abbf11e8e16539de62161af3d4cdc0fbdc4cf61b Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Fri, 3 Feb 2023 11:58:13 +0100 Subject: [PATCH] [K/N] Mark immutable temp variables as immutable This optimizes 5000 enum entries enum compilation time from "I can't wait" to around 1 minute. --- .../org/jetbrains/kotlin/backend/konan/lower/VarargLowering.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/VarargLowering.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/VarargLowering.kt index a8e03e2cdc8..d07215205a7 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/VarargLowering.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/VarargLowering.kt @@ -128,13 +128,12 @@ internal class VarargInjectionLowering constructor(val context: KonanBackendCont it to irTemporary( (it as? IrSpreadElement)?.expression ?: it as IrExpression, "elem".synthesizedString, - isMutable = true ) }.toMap() val arraySize = calculateArraySize(arrayHandle, hasSpreadElement, scope, expression, vars) val array = arrayHandle.createArray(this, expression.varargElementType, arraySize) - val arrayTmpVariable = irTemporary(array, "array".synthesizedString, isMutable = true) + val arrayTmpVariable = irTemporary(array, "array".synthesizedString) lateinit var indexTmpVariable: IrVariable if (hasSpreadElement) indexTmpVariable = irTemporary(kIntZero, "index".synthesizedString, isMutable = true)