[K/N][IR] Extracted a common util function

This commit is contained in:
Igor Chevdar
2023-04-05 15:48:47 +03:00
parent cf58e5ff9f
commit 6a79163205
4 changed files with 4 additions and 3 deletions
@@ -144,3 +144,5 @@ fun IrFunction.getAdapteeFromAdaptedForReferenceFunction() : IrFunction? {
if (call !is IrFunctionAccessExpression) unknownStructure()
return call.symbol.owner
}
fun IrBranch.isUnconditional(): Boolean = (condition as? IrConst<*>)?.value == true
@@ -89,8 +89,6 @@ fun buildSimpleAnnotation(irBuiltIns: IrBuiltIns, startOffset: Int, endOffset: I
internal fun IrExpression.isBoxOrUnboxCall() =
(this is IrCall && symbol.owner.origin == DECLARATION_ORIGIN_INLINE_CLASS_SPECIAL_FUNCTION)
internal fun IrBranch.isUnconditional(): Boolean = (condition as? IrConst<*>)?.value == true
internal val IrFunctionAccessExpression.actualCallee: IrFunction
get() {
val callee = symbol.owner
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.backend.konan.llvm
import kotlinx.cinterop.*
import llvm.*
import org.jetbrains.kotlin.backend.common.ir.inlineFunction
import org.jetbrains.kotlin.backend.common.ir.isUnconditional
import org.jetbrains.kotlin.backend.common.lower.coroutines.getOrCreateFunctionWithContinuationStub
import org.jetbrains.kotlin.backend.common.lower.inline.InlinerExpressionLocationHint
import org.jetbrains.kotlin.backend.konan.*
@@ -6,13 +6,13 @@
package org.jetbrains.kotlin.backend.konan.optimizations
import org.jetbrains.kotlin.backend.common.copy
import org.jetbrains.kotlin.backend.common.ir.isUnconditional
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
import org.jetbrains.kotlin.backend.common.lower.irBlock
import org.jetbrains.kotlin.backend.konan.Context
import org.jetbrains.kotlin.backend.konan.DirectedGraphCondensationBuilder
import org.jetbrains.kotlin.backend.konan.DirectedGraphMultiNode
import org.jetbrains.kotlin.backend.konan.ir.actualCallee
import org.jetbrains.kotlin.backend.konan.ir.isUnconditional
import org.jetbrains.kotlin.backend.konan.ir.isVirtualCall
import org.jetbrains.kotlin.backend.konan.logMultiple
import org.jetbrains.kotlin.backend.konan.lower.*