From 6564632b58f663c61e224b184da4e43920dda988 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Mon, 4 Apr 2022 13:43:12 +0200 Subject: [PATCH] FIR: Implement build properties for LightTree and tight IC cycle --- build.gradle.kts | 8 ++++++++ buildSrc/src/main/kotlin/BuildPropertiesExt.kt | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 0fe4c901326..bdd07982832 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -123,6 +123,8 @@ if (!project.hasProperty("versions.kotlin-native")) { } val useJvmFir by extra(project.kotlinBuildProperties.useFir) +val useFirLT by extra(project.kotlinBuildProperties.useFirWithLightTree) +val useFirIC by extra(project.kotlinBuildProperties.useFirTightIC) val renderDiagnosticNames by extra(project.kotlinBuildProperties.renderDiagnosticNames) val irCompilerModules = arrayOf( @@ -505,6 +507,12 @@ allprojects { if (useJvmFir && this@allprojects.path !in projectsWithDisabledFirBootstrap) { freeCompilerArgs += "-Xuse-fir" freeCompilerArgs += "-Xabi-stability=stable" + if (useFirLT) { + freeCompilerArgs += "-Xuse-fir-lt" + } + if (useFirIC) { + freeCompilerArgs += "-Xuse-fir-ic" + } } if (renderDiagnosticNames) { freeCompilerArgs += "-Xrender-internal-diagnostic-names" diff --git a/buildSrc/src/main/kotlin/BuildPropertiesExt.kt b/buildSrc/src/main/kotlin/BuildPropertiesExt.kt index a37cd38a288..f0ad901fcd2 100644 --- a/buildSrc/src/main/kotlin/BuildPropertiesExt.kt +++ b/buildSrc/src/main/kotlin/BuildPropertiesExt.kt @@ -54,3 +54,9 @@ val KotlinBuildProperties.junit5NumberOfThreadsForParallelExecution: Int? val KotlinBuildProperties.publishGradlePluginsJavadoc: Boolean get() = getBoolean("kotlin.build.gradle.publish.javadocs", false) + +val KotlinBuildProperties.useFirWithLightTree: Boolean + get() = getBoolean("kotlin.build.useFirLT") + +val KotlinBuildProperties.useFirTightIC: Boolean + get() = getBoolean("kotlin.build.useFirIC")