From 594ff1474d4b0bcc017a88d9c0209eb8b5d7c30c Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Wed, 7 Jul 2021 17:14:21 +0300 Subject: [PATCH] [K/N] Make llvm Int1 boolean, not byte --- .../jetbrains/kotlin/backend/konan/llvm/CodeGenerator.kt | 8 ++++---- .../kotlin/backend/konan/llvm/IntrinsicGenerator.kt | 2 +- .../jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt | 4 ++-- .../org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt | 4 ++-- .../konan/llvm/objcexport/ObjCExportCodeGenerator.kt | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/CodeGenerator.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/CodeGenerator.kt index a779f10bf23..238ab0b0e45 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/CodeGenerator.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/CodeGenerator.kt @@ -270,7 +270,7 @@ internal class StackLocalsManagerImpl( listOf(bitcast(kInt8Ptr, stackSlot), Int8(0).llvm, Int32(LLVMSizeOfTypeInBits(codegen.llvmTargetData, type).toInt() / 8).llvm, - Int1(0).llvm)) + Int1(false).llvm)) val objectHeader = structGep(stackSlot, 0, "objHeader") val typeInfo = codegen.typeInfoForAllocation(irClass) @@ -328,7 +328,7 @@ internal class StackLocalsManagerImpl( Int8(0).llvm, Int32(constCount * LLVMSizeOfTypeInBits(codegen.llvmTargetData, arrayToElementType[irClass.symbol]).toInt() / 8).llvm, - Int1(0).llvm)) + Int1(false).llvm)) StackLocal(true, irClass, arraySlot, arrayHeaderSlot) } @@ -367,7 +367,7 @@ internal class StackLocalsManagerImpl( listOf(bodyWithSkippedServiceInfoPtr, Int8(0).llvm, Int32(bodySize - serviceInfoSize).llvm, - Int1(0).llvm)) + Int1(false).llvm)) } } } @@ -1353,7 +1353,7 @@ internal class FunctionGenerationContext(val function: LLVMValueRef, call(context.llvm.memsetFunction, listOf(slotsMem, Int8(0).llvm, Int32(slotCount * codegen.runtime.pointerSize).llvm, - Int1(0).llvm)) + Int1(false).llvm)) call(context.llvm.enterFrameFunction, listOf(slots, Int32(vars.skipSlots).llvm, Int32(slotCount).llvm)) } addPhiIncoming(slotsPhi!!, prologueBb to slots) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IntrinsicGenerator.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IntrinsicGenerator.kt index 04e46901f5a..5d5b81e444a 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IntrinsicGenerator.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IntrinsicGenerator.kt @@ -273,7 +273,7 @@ internal class IntrinsicGenerator(private val environment: IntrinsicGeneratorEnv args.single() private fun FunctionGenerationContext.emitIsExperimentalMM(): LLVMValueRef = - Int1(if (context.memoryModel == MemoryModel.EXPERIMENTAL) 1 else 0).llvm + Int1(context.memoryModel == MemoryModel.EXPERIMENTAL).llvm private fun FunctionGenerationContext.emitListOfInternal(callSite: IrCall, args: List): LLVMValueRef { val varargExpression = callSite.getValueArgument(0) as IrVararg diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt index b7317b277b3..7ed0c078daa 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt @@ -2246,8 +2246,8 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map): LLVMValueRef { diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt index 75fae809bff..197c1db79ff 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt @@ -115,8 +115,8 @@ internal val vector128Type get() = LLVMVectorType(floatType, 4)!! internal val voidType get() = LLVMVoidTypeInContext(llvmContext)!! -internal class Int1(val value: Byte) : ConstValue { - override val llvm = LLVMConstInt(int1Type, value.toLong(), 1)!! +internal class Int1(val value: Boolean) : ConstValue { + override val llvm = LLVMConstInt(int1Type, if (value) 1 else 0, 1)!! } internal class Int8(val value: Byte) : ConstValue { diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt index dd3e4d61868..f16965b3c86 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt @@ -363,7 +363,7 @@ internal class ObjCExportCodeGenerator( if (context.llvmModuleSpecification.importsKotlinDeclarationsFromOtherSharedLibraries()) { replaceExternalWeakOrCommonGlobal( "Kotlin_ObjCExport_initTypeAdapters", - Int1(1), + Int1(true), context.standardLlvmSymbolsOrigin ) }