[IR] Drop alwaysCreateTemporaryVariablesForArguments from inliner
This parameter was always set to be true. #KT-66509
This commit is contained in:
@@ -207,7 +207,6 @@ private val functionInliningPhase = makeIrModulePhase(
|
|||||||
it,
|
it,
|
||||||
JsInlineFunctionResolver(it),
|
JsInlineFunctionResolver(it),
|
||||||
it.innerClassesSupport,
|
it.innerClassesSupport,
|
||||||
alwaysCreateTemporaryVariablesForArguments = true,
|
|
||||||
inlineArgumentsWithOriginalOffset = true,
|
inlineArgumentsWithOriginalOffset = true,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
|||||||
-1
@@ -297,7 +297,6 @@ internal val functionInliningPhase = makeIrModulePhase(
|
|||||||
FunctionInlining(
|
FunctionInlining(
|
||||||
context,
|
context,
|
||||||
innerClassesSupport = context.innerClassesSupport,
|
innerClassesSupport = context.innerClassesSupport,
|
||||||
alwaysCreateTemporaryVariablesForArguments = true,
|
|
||||||
regenerateInlinedAnonymousObjects = true,
|
regenerateInlinedAnonymousObjects = true,
|
||||||
inlineArgumentsWithOriginalOffset = true
|
inlineArgumentsWithOriginalOffset = true
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -139,7 +139,6 @@ private val functionInliningPhase = makeCustomPhase<WasmBackendContext>(
|
|||||||
inlineFunctionResolver = WasmInlineFunctionResolver(context),
|
inlineFunctionResolver = WasmInlineFunctionResolver(context),
|
||||||
innerClassesSupport = context.innerClassesSupport,
|
innerClassesSupport = context.innerClassesSupport,
|
||||||
insertAdditionalImplicitCasts = true,
|
insertAdditionalImplicitCasts = true,
|
||||||
alwaysCreateTemporaryVariablesForArguments = true
|
|
||||||
).inline(module)
|
).inline(module)
|
||||||
module.patchDeclarationParents()
|
module.patchDeclarationParents()
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -80,7 +80,6 @@ class FunctionInlining(
|
|||||||
private val inlineFunctionResolver: InlineFunctionResolver = InlineFunctionResolver.TRIVIAL,
|
private val inlineFunctionResolver: InlineFunctionResolver = InlineFunctionResolver.TRIVIAL,
|
||||||
private val innerClassesSupport: InnerClassesSupport? = null,
|
private val innerClassesSupport: InnerClassesSupport? = null,
|
||||||
private val insertAdditionalImplicitCasts: Boolean = false,
|
private val insertAdditionalImplicitCasts: Boolean = false,
|
||||||
private val alwaysCreateTemporaryVariablesForArguments: Boolean = false,
|
|
||||||
private val regenerateInlinedAnonymousObjects: Boolean = false,
|
private val regenerateInlinedAnonymousObjects: Boolean = false,
|
||||||
private val inlineArgumentsWithOriginalOffset: Boolean = false,
|
private val inlineArgumentsWithOriginalOffset: Boolean = false,
|
||||||
) : IrElementTransformerVoidWithContext(), BodyLoweringPass {
|
) : IrElementTransformerVoidWithContext(), BodyLoweringPass {
|
||||||
@@ -769,9 +768,7 @@ class FunctionInlining(
|
|||||||
|
|
||||||
// Arguments may reference the previous ones - substitute them.
|
// Arguments may reference the previous ones - substitute them.
|
||||||
val variableInitializer = argument.argumentExpression.transform(substitutor, data = null)
|
val variableInitializer = argument.argumentExpression.transform(substitutor, data = null)
|
||||||
val shouldCreateTemporaryVariable =
|
val shouldCreateTemporaryVariable = !parameter.isInlineParameter() || argument.shouldBeSubstitutedViaTemporaryVariable()
|
||||||
(alwaysCreateTemporaryVariablesForArguments && !parameter.isInlineParameter()) ||
|
|
||||||
argument.shouldBeSubstitutedViaTemporaryVariable()
|
|
||||||
|
|
||||||
if (shouldCreateTemporaryVariable) {
|
if (shouldCreateTemporaryVariable) {
|
||||||
val newVariable = createTemporaryVariable(parameter, variableInitializer, argument.isDefaultArg, callee)
|
val newVariable = createTemporaryVariable(parameter, variableInitializer, argument.isDefaultArg, callee)
|
||||||
@@ -835,9 +832,7 @@ class FunctionInlining(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (alwaysCreateTemporaryVariablesForArguments) {
|
variable.name = Name.identifier(parameter.name.asStringStripSpecialMarkers())
|
||||||
variable.name = Name.identifier(parameter.name.asStringStripSpecialMarkers())
|
|
||||||
}
|
|
||||||
|
|
||||||
return variable
|
return variable
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -347,7 +347,6 @@ private val inlinePhase = createFileLoweringPhase(
|
|||||||
FunctionInlining(
|
FunctionInlining(
|
||||||
context.context,
|
context.context,
|
||||||
NativeInlineFunctionResolver(context.context, context),
|
NativeInlineFunctionResolver(context.context, context),
|
||||||
alwaysCreateTemporaryVariablesForArguments = true,
|
|
||||||
insertAdditionalImplicitCasts = true,
|
insertAdditionalImplicitCasts = true,
|
||||||
).lower(irFile)
|
).lower(irFile)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user