[K2] Move IRTranslation perf calculation inside convertToIr* methods
This commit is contained in:
@@ -236,6 +236,10 @@ fun transformFirToIr(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val firResult = FirResult(firOutputs)
|
val firResult = FirResult(firOutputs)
|
||||||
|
|
||||||
|
val performanceManager = moduleStructure.compilerConfiguration[CLIConfigurationKeys.PERF_MANAGER]
|
||||||
|
performanceManager?.notifyIRTranslationStarted()
|
||||||
|
|
||||||
return firResult.convertToIrAndActualize(
|
return firResult.convertToIrAndActualize(
|
||||||
fir2IrExtensions,
|
fir2IrExtensions,
|
||||||
Fir2IrConfiguration.forKlibCompilation(moduleStructure.compilerConfiguration, diagnosticsReporter),
|
Fir2IrConfiguration.forKlibCompilation(moduleStructure.compilerConfiguration, diagnosticsReporter),
|
||||||
@@ -247,6 +251,8 @@ fun transformFirToIr(
|
|||||||
actualizerTypeContextProvider = ::IrTypeSystemContextImpl
|
actualizerTypeContextProvider = ::IrTypeSystemContextImpl
|
||||||
) { _, irPart ->
|
) { _, irPart ->
|
||||||
(irPart.irModuleFragment.descriptor as? FirModuleDescriptor)?.let { it.allDependencyModules = librariesDescriptors }
|
(irPart.irModuleFragment.descriptor as? FirModuleDescriptor)?.let { it.allDependencyModules = librariesDescriptors }
|
||||||
|
}.also {
|
||||||
|
performanceManager?.notifyIRTranslationFinished()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-4
@@ -154,14 +154,10 @@ object FirKotlinToJvmBytecodeCompiler {
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
performanceManager?.notifyIRTranslationStarted()
|
|
||||||
|
|
||||||
val fir2IrExtensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler)
|
val fir2IrExtensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler)
|
||||||
val fir2IrAndIrActualizerResult =
|
val fir2IrAndIrActualizerResult =
|
||||||
firResult.convertToIrAndActualizeForJvm(fir2IrExtensions, configuration, diagnosticsReporter, irGenerationExtensions)
|
firResult.convertToIrAndActualizeForJvm(fir2IrExtensions, configuration, diagnosticsReporter, irGenerationExtensions)
|
||||||
|
|
||||||
performanceManager?.notifyIRTranslationFinished()
|
|
||||||
|
|
||||||
performanceManager?.notifyGenerationStarted()
|
performanceManager?.notifyGenerationStarted()
|
||||||
val generationState = runBackend(
|
val generationState = runBackend(
|
||||||
fir2IrExtensions,
|
fir2IrExtensions,
|
||||||
|
|||||||
@@ -133,13 +133,9 @@ fun compileModulesUsingFrontendIrAndLightTree(
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
performanceManager?.notifyIRTranslationStarted()
|
|
||||||
|
|
||||||
val compilerEnvironment = ModuleCompilerEnvironment(projectEnvironment, diagnosticsReporter)
|
val compilerEnvironment = ModuleCompilerEnvironment(projectEnvironment, diagnosticsReporter)
|
||||||
val irInput = convertAnalyzedFirToIr(compilerInput, analysisResults, compilerEnvironment)
|
val irInput = convertAnalyzedFirToIr(compilerInput, analysisResults, compilerEnvironment)
|
||||||
|
|
||||||
performanceManager?.notifyIRTranslationFinished()
|
|
||||||
|
|
||||||
performanceManager?.notifyGenerationStarted()
|
performanceManager?.notifyGenerationStarted()
|
||||||
val codegenOutput = generateCodeFromIr(irInput, compilerEnvironment, performanceManager)
|
val codegenOutput = generateCodeFromIr(irInput, compilerEnvironment, performanceManager)
|
||||||
|
|
||||||
@@ -192,6 +188,9 @@ fun FirResult.convertToIrAndActualizeForJvm(
|
|||||||
diagnosticsReporter: DiagnosticReporter,
|
diagnosticsReporter: DiagnosticReporter,
|
||||||
irGeneratorExtensions: Collection<IrGenerationExtension>,
|
irGeneratorExtensions: Collection<IrGenerationExtension>,
|
||||||
): Fir2IrActualizedResult {
|
): Fir2IrActualizedResult {
|
||||||
|
val performanceManager = configuration[CLIConfigurationKeys.PERF_MANAGER]
|
||||||
|
performanceManager?.notifyIRTranslationStarted()
|
||||||
|
|
||||||
val fir2IrConfiguration = Fir2IrConfiguration.forJvmCompilation(configuration, diagnosticsReporter)
|
val fir2IrConfiguration = Fir2IrConfiguration.forJvmCompilation(configuration, diagnosticsReporter)
|
||||||
|
|
||||||
return convertToIrAndActualize(
|
return convertToIrAndActualize(
|
||||||
@@ -203,7 +202,7 @@ fun FirResult.convertToIrAndActualizeForJvm(
|
|||||||
FirJvmVisibilityConverter,
|
FirJvmVisibilityConverter,
|
||||||
DefaultBuiltIns.Instance,
|
DefaultBuiltIns.Instance,
|
||||||
::JvmIrTypeSystemContext,
|
::JvmIrTypeSystemContext,
|
||||||
)
|
).also { performanceManager?.notifyIRTranslationFinished() }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun generateCodeFromIr(
|
fun generateCodeFromIr(
|
||||||
|
|||||||
-4
@@ -263,16 +263,12 @@ open class IncrementalFirJvmCompilerRunner(
|
|||||||
|
|
||||||
val cycleResult = firIncrementalCycle() ?: return ExitCode.COMPILATION_ERROR to allCompiledSources
|
val cycleResult = firIncrementalCycle() ?: return ExitCode.COMPILATION_ERROR to allCompiledSources
|
||||||
|
|
||||||
performanceManager?.notifyIRTranslationStarted()
|
|
||||||
|
|
||||||
val extensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler)
|
val extensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler)
|
||||||
val irGenerationExtensions = projectEnvironment.project.let { IrGenerationExtension.getInstances(it) }
|
val irGenerationExtensions = projectEnvironment.project.let { IrGenerationExtension.getInstances(it) }
|
||||||
val (irModuleFragment, components, pluginContext, irActualizedResult) = cycleResult.convertToIrAndActualizeForJvm(
|
val (irModuleFragment, components, pluginContext, irActualizedResult) = cycleResult.convertToIrAndActualizeForJvm(
|
||||||
extensions, configuration, compilerEnvironment.diagnosticsReporter, irGenerationExtensions,
|
extensions, configuration, compilerEnvironment.diagnosticsReporter, irGenerationExtensions,
|
||||||
)
|
)
|
||||||
|
|
||||||
performanceManager?.notifyIRTranslationFinished()
|
|
||||||
|
|
||||||
performanceManager?.notifyGenerationStarted()
|
performanceManager?.notifyGenerationStarted()
|
||||||
val irInput = ModuleCompilerIrBackendInput(
|
val irInput = ModuleCompilerIrBackendInput(
|
||||||
targetId,
|
targetId,
|
||||||
|
|||||||
Reference in New Issue
Block a user