diff --git a/kotstd/lib/arm/array_c.ll b/kotstd/lib/arm/array_c.ll index 1efea99ab23..4e01dd4193a 100644 --- a/kotstd/lib/arm/array_c.ll +++ b/kotstd/lib/arm/array_c.ll @@ -3,7 +3,7 @@ target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" target triple = "thumbv7m-none--eabi" ; Function Attrs: nounwind -define i32 @malloc_array(i32 %x) #0 { +define weak i32 @malloc_array(i32 %x) #0 { %1 = alloca i32, align 4 store i32 %x, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -15,7 +15,7 @@ define i32 @malloc_array(i32 %x) #0 { declare i8* @malloc(i32) #1 ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_get_byte(i32 %data, i32 %index) #0 { +define weak zeroext i8 @kotlinclib_get_byte(i32 %data, i32 %index) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 %data, i32* %1, align 4 @@ -29,7 +29,7 @@ define zeroext i8 @kotlinclib_get_byte(i32 %data, i32 %index) #0 { } ; Function Attrs: nounwind -define void @kotlinclib_set_byte(i32 %data, i32 %index, i8 zeroext %value) #0 { +define weak void @kotlinclib_set_byte(i32 %data, i32 %index, i8 zeroext %value) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i8, align 1 @@ -49,7 +49,7 @@ define void @kotlinclib_set_byte(i32 %data, i32 %index, i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_get_int(i32 %data, i32 %index) #0 { +define weak i32 @kotlinclib_get_int(i32 %data, i32 %index) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 %data, i32* %1, align 4 @@ -63,7 +63,7 @@ define i32 @kotlinclib_get_int(i32 %data, i32 %index) #0 { } ; Function Attrs: nounwind -define void @kotlinclib_set_int(i32 %data, i32 %index, i32 %value) #0 { +define weak void @kotlinclib_set_int(i32 %data, i32 %index, i32 %value) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i32, align 4 @@ -83,7 +83,7 @@ define void @kotlinclib_set_int(i32 %data, i32 %index, i32 %value) #0 { } ; Function Attrs: nounwind -define signext i16 @kotlinclib_get_short(i32 %data, i32 %index) #0 { +define weak signext i16 @kotlinclib_get_short(i32 %data, i32 %index) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 %data, i32* %1, align 4 @@ -97,7 +97,7 @@ define signext i16 @kotlinclib_get_short(i32 %data, i32 %index) #0 { } ; Function Attrs: nounwind -define void @kotlinclib_set_short(i32 %data, i32 %index, i16 signext %value) #0 { +define weak void @kotlinclib_set_short(i32 %data, i32 %index, i16 signext %value) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i16, align 2 @@ -117,7 +117,7 @@ define void @kotlinclib_set_short(i32 %data, i32 %index, i16 signext %value) #0 } ; Function Attrs: nounwind -define i32 @kotlinclib_get_long(i32 %data, i32 %index) #0 { +define weak i32 @kotlinclib_get_long(i32 %data, i32 %index) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 %data, i32* %1, align 4 @@ -131,7 +131,7 @@ define i32 @kotlinclib_get_long(i32 %data, i32 %index) #0 { } ; Function Attrs: nounwind -define void @kotlinclib_set_long(i32 %data, i32 %index, i32 %value) #0 { +define weak void @kotlinclib_set_long(i32 %data, i32 %index, i32 %value) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i32, align 4 diff --git a/kotstd/lib/arm/primitives_c.ll b/kotstd/lib/arm/primitives_c.ll index 70bbd4386b2..632d4896f00 100644 --- a/kotstd/lib/arm/primitives_c.ll +++ b/kotstd/lib/arm/primitives_c.ll @@ -260,7 +260,7 @@ define weak float @kotlinclib_longToFloat(i32 %value) #0 { } ; Function Attrs: nounwind -define double @kotlinclib_longToDouble(i32 %value) #0 { +define weak double @kotlinclib_longToDouble(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -376,4 +376,46 @@ define weak float @kotlinclib_doubleToFloat(double %value) #0 { ret float %3 } +; Function Attrs: nounwind +define weak i32 @kotlinclib_int_size() #0 { + ret i32 4 +} + +; Function Attrs: nounwind +define weak i32 @kotlinclib_long_size() #0 { + ret i32 8 +} + +; Function Attrs: nounwind +define weak i32 @kotlinclib_boolean_size() #0 { + ret i32 1 +} + +; Function Attrs: nounwind +define weak i32 @kotlinclib_short_size() #0 { + ret i32 2 +} + +; Function Attrs: nounwind +define weak i32 @kotlinclib_double_size() #0 { + ret i32 8 +} + +; Function Attrs: nounwind +define weak i32 @kotlinclib_float_size() #0 { + ret i32 4 +} + +; Function Attrs: nounwind +define weak i32 @kotlinclib_char_size() #0 { + ret i32 1 +} + attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 1, !"min_enum_size", i32 4} +!2 = !{!"Ubuntu clang version 3.6.2-3ubuntu2 (tags/RELEASE_362/final) (based on LLVM 3.6.2)"} diff --git a/kotstd/lib/x86/array_c.ll b/kotstd/lib/x86/array_c.ll index 6d9505becaf..0cd31ef0e23 100644 --- a/kotstd/lib/x86/array_c.ll +++ b/kotstd/lib/x86/array_c.ll @@ -3,7 +3,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-linux-gnu" ; Function Attrs: nounwind uwtable -define i32 @malloc_array(i32 %x) #0 { +define weak i32 @malloc_array(i32 %x) #0 { %1 = alloca i32, align 4 store i32 %x, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -15,7 +15,7 @@ define i32 @malloc_array(i32 %x) #0 { declare i8* @malloc(i32) #1 ; Function Attrs: nounwind uwtable -define signext i8 @kotlinclib_get_byte(i32 %data, i32 %index) #0 { +define weak signext i8 @kotlinclib_get_byte(i32 %data, i32 %index) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 %data, i32* %1, align 4 @@ -31,7 +31,7 @@ define signext i8 @kotlinclib_get_byte(i32 %data, i32 %index) #0 { } ; Function Attrs: nounwind uwtable -define void @kotlinclib_set_byte(i32 %data, i32 %index, i8 signext %value) #0 { +define weak void @kotlinclib_set_byte(i32 %data, i32 %index, i8 signext %value) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i8, align 1 @@ -53,7 +53,7 @@ define void @kotlinclib_set_byte(i32 %data, i32 %index, i8 signext %value) #0 { } ; Function Attrs: nounwind uwtable -define i32 @kotlinclib_get_int(i32 %data, i32 %index) #0 { +define weak i32 @kotlinclib_get_int(i32 %data, i32 %index) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 %data, i32* %1, align 4 @@ -69,7 +69,7 @@ define i32 @kotlinclib_get_int(i32 %data, i32 %index) #0 { } ; Function Attrs: nounwind uwtable -define void @kotlinclib_set_int(i32 %data, i32 %index, i32 %value) #0 { +define weak void @kotlinclib_set_int(i32 %data, i32 %index, i32 %value) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i32, align 4 @@ -91,7 +91,7 @@ define void @kotlinclib_set_int(i32 %data, i32 %index, i32 %value) #0 { } ; Function Attrs: nounwind uwtable -define signext i16 @kotlinclib_get_short(i32 %data, i32 %index) #0 { +define weak signext i16 @kotlinclib_get_short(i32 %data, i32 %index) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 %data, i32* %1, align 4 @@ -107,7 +107,7 @@ define signext i16 @kotlinclib_get_short(i32 %data, i32 %index) #0 { } ; Function Attrs: nounwind uwtable -define void @kotlinclib_set_short(i32 %data, i32 %index, i16 signext %value) #0 { +define weak void @kotlinclib_set_short(i32 %data, i32 %index, i16 signext %value) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i16, align 2 @@ -129,7 +129,7 @@ define void @kotlinclib_set_short(i32 %data, i32 %index, i16 signext %value) #0 } ; Function Attrs: nounwind uwtable -define i64 @kotlinclib_get_long(i32 %data, i32 %index) #0 { +define weak i64 @kotlinclib_get_long(i32 %data, i32 %index) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 %data, i32* %1, align 4 @@ -145,7 +145,7 @@ define i64 @kotlinclib_get_long(i32 %data, i32 %index) #0 { } ; Function Attrs: nounwind uwtable -define void @kotlinclib_set_long(i32 %data, i32 %index, i64 %value) #0 { +define weak void @kotlinclib_set_long(i32 %data, i32 %index, i64 %value) #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i64, align 8 diff --git a/kotstd/lib/x86/primitives_c.ll b/kotstd/lib/x86/primitives_c.ll index efc26cd7f5f..fdfd9831b9e 100644 --- a/kotstd/lib/x86/primitives_c.ll +++ b/kotstd/lib/x86/primitives_c.ll @@ -3,7 +3,7 @@ target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" target triple = "thumbv7m-none--eabi" ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_intToByte(i32 %value) #0 { +define weak zeroext i8 @kotlinclib_intToByte(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -12,7 +12,7 @@ define zeroext i8 @kotlinclib_intToByte(i32 %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_intToChar(i32 %value) #0 { +define weak zeroext i8 @kotlinclib_intToChar(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -21,7 +21,7 @@ define zeroext i8 @kotlinclib_intToChar(i32 %value) #0 { } ; Function Attrs: nounwind -define signext i16 @kotlinclib_intToShort(i32 %value) #0 { +define weak signext i16 @kotlinclib_intToShort(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -30,7 +30,7 @@ define signext i16 @kotlinclib_intToShort(i32 %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_intToLong(i32 %value) #0 { +define weak i32 @kotlinclib_intToLong(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -38,7 +38,7 @@ define i32 @kotlinclib_intToLong(i32 %value) #0 { } ; Function Attrs: nounwind -define float @kotlinclib_intToFloat(i32 %value) #0 { +define weak float @kotlinclib_intToFloat(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -47,7 +47,7 @@ define float @kotlinclib_intToFloat(i32 %value) #0 { } ; Function Attrs: nounwind -define double @kotlinclib_intToDouble(i32 %value) #0 { +define weak double @kotlinclib_intToDouble(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -56,7 +56,7 @@ define double @kotlinclib_intToDouble(i32 %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_byteToChar(i8 zeroext %value) #0 { +define weak zeroext i8 @kotlinclib_byteToChar(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -64,7 +64,7 @@ define zeroext i8 @kotlinclib_byteToChar(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define signext i16 @kotlinclib_byteToShort(i8 zeroext %value) #0 { +define weak signext i16 @kotlinclib_byteToShort(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -73,7 +73,7 @@ define signext i16 @kotlinclib_byteToShort(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_byteToInt(i8 zeroext %value) #0 { +define weak i32 @kotlinclib_byteToInt(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -82,7 +82,7 @@ define i32 @kotlinclib_byteToInt(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_byteToLong(i8 zeroext %value) #0 { +define weak i32 @kotlinclib_byteToLong(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -91,7 +91,7 @@ define i32 @kotlinclib_byteToLong(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define float @kotlinclib_byteToFloat(i8 zeroext %value) #0 { +define weak float @kotlinclib_byteToFloat(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -100,7 +100,7 @@ define float @kotlinclib_byteToFloat(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define double @kotlinclib_byteToDouble(i8 zeroext %value) #0 { +define weak double @kotlinclib_byteToDouble(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -109,7 +109,7 @@ define double @kotlinclib_byteToDouble(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_charToByte(i8 zeroext %value) #0 { +define weak zeroext i8 @kotlinclib_charToByte(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -117,7 +117,7 @@ define zeroext i8 @kotlinclib_charToByte(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define signext i16 @kotlinclib_charToShort(i8 zeroext %value) #0 { +define weak signext i16 @kotlinclib_charToShort(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -126,7 +126,7 @@ define signext i16 @kotlinclib_charToShort(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_charToInt(i8 zeroext %value) #0 { +define weak i32 @kotlinclib_charToInt(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -135,7 +135,7 @@ define i32 @kotlinclib_charToInt(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_charToLong(i8 zeroext %value) #0 { +define weak i32 @kotlinclib_charToLong(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -144,7 +144,7 @@ define i32 @kotlinclib_charToLong(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define float @kotlinclib_charToFloat(i8 zeroext %value) #0 { +define weak float @kotlinclib_charToFloat(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -153,7 +153,7 @@ define float @kotlinclib_charToFloat(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define double @kotlinclib_charToDouble(i8 zeroext %value) #0 { +define weak double @kotlinclib_charToDouble(i8 zeroext %value) #0 { %1 = alloca i8, align 1 store i8 %value, i8* %1, align 1 %2 = load i8* %1, align 1 @@ -162,7 +162,7 @@ define double @kotlinclib_charToDouble(i8 zeroext %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_shortToByte(i16 signext %value) #0 { +define weak zeroext i8 @kotlinclib_shortToByte(i16 signext %value) #0 { %1 = alloca i16, align 2 store i16 %value, i16* %1, align 2 %2 = load i16* %1, align 2 @@ -171,7 +171,7 @@ define zeroext i8 @kotlinclib_shortToByte(i16 signext %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_shortToChar(i16 signext %value) #0 { +define weak zeroext i8 @kotlinclib_shortToChar(i16 signext %value) #0 { %1 = alloca i16, align 2 store i16 %value, i16* %1, align 2 %2 = load i16* %1, align 2 @@ -180,7 +180,7 @@ define zeroext i8 @kotlinclib_shortToChar(i16 signext %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_shortToInt(i16 signext %value) #0 { +define weak i32 @kotlinclib_shortToInt(i16 signext %value) #0 { %1 = alloca i16, align 2 store i16 %value, i16* %1, align 2 %2 = load i16* %1, align 2 @@ -189,7 +189,7 @@ define i32 @kotlinclib_shortToInt(i16 signext %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_shortToLong(i16 signext %value) #0 { +define weak i32 @kotlinclib_shortToLong(i16 signext %value) #0 { %1 = alloca i16, align 2 store i16 %value, i16* %1, align 2 %2 = load i16* %1, align 2 @@ -198,7 +198,7 @@ define i32 @kotlinclib_shortToLong(i16 signext %value) #0 { } ; Function Attrs: nounwind -define float @kotlinclib_shortToFloat(i16 signext %value) #0 { +define weak float @kotlinclib_shortToFloat(i16 signext %value) #0 { %1 = alloca i16, align 2 store i16 %value, i16* %1, align 2 %2 = load i16* %1, align 2 @@ -207,7 +207,7 @@ define float @kotlinclib_shortToFloat(i16 signext %value) #0 { } ; Function Attrs: nounwind -define double @kotlinclib_shortToDouble(i16 signext %value) #0 { +define weak double @kotlinclib_shortToDouble(i16 signext %value) #0 { %1 = alloca i16, align 2 store i16 %value, i16* %1, align 2 %2 = load i16* %1, align 2 @@ -216,7 +216,7 @@ define double @kotlinclib_shortToDouble(i16 signext %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_longToByte(i32 %value) #0 { +define weak zeroext i8 @kotlinclib_longToByte(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -225,7 +225,7 @@ define zeroext i8 @kotlinclib_longToByte(i32 %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_longToChar(i32 %value) #0 { +define weak zeroext i8 @kotlinclib_longToChar(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -234,7 +234,7 @@ define zeroext i8 @kotlinclib_longToChar(i32 %value) #0 { } ; Function Attrs: nounwind -define signext i16 @kotlinclib_longToShort(i32 %value) #0 { +define weak signext i16 @kotlinclib_longToShort(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -243,7 +243,7 @@ define signext i16 @kotlinclib_longToShort(i32 %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_longToInt(i32 %value) #0 { +define weak i32 @kotlinclib_longToInt(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -251,7 +251,7 @@ define i32 @kotlinclib_longToInt(i32 %value) #0 { } ; Function Attrs: nounwind -define float @kotlinclib_longToFloat(i32 %value) #0 { +define weak float @kotlinclib_longToFloat(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -260,7 +260,7 @@ define float @kotlinclib_longToFloat(i32 %value) #0 { } ; Function Attrs: nounwind -define double @kotlinclib_longToDouble(i32 %value) #0 { +define weak double @kotlinclib_longToDouble(i32 %value) #0 { %1 = alloca i32, align 4 store i32 %value, i32* %1, align 4 %2 = load i32* %1, align 4 @@ -269,7 +269,7 @@ define double @kotlinclib_longToDouble(i32 %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_floatToByte(float %value) #0 { +define weak zeroext i8 @kotlinclib_floatToByte(float %value) #0 { %1 = alloca float, align 4 store float %value, float* %1, align 4 %2 = load float* %1, align 4 @@ -278,7 +278,7 @@ define zeroext i8 @kotlinclib_floatToByte(float %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_floatToChar(float %value) #0 { +define weak zeroext i8 @kotlinclib_floatToChar(float %value) #0 { %1 = alloca float, align 4 store float %value, float* %1, align 4 %2 = load float* %1, align 4 @@ -287,7 +287,7 @@ define zeroext i8 @kotlinclib_floatToChar(float %value) #0 { } ; Function Attrs: nounwind -define signext i16 @kotlinclib_floatToShort(float %value) #0 { +define weak signext i16 @kotlinclib_floatToShort(float %value) #0 { %1 = alloca float, align 4 store float %value, float* %1, align 4 %2 = load float* %1, align 4 @@ -296,7 +296,7 @@ define signext i16 @kotlinclib_floatToShort(float %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_floatToInt(float %value) #0 { +define weak i32 @kotlinclib_floatToInt(float %value) #0 { %1 = alloca float, align 4 store float %value, float* %1, align 4 %2 = load float* %1, align 4 @@ -305,7 +305,7 @@ define i32 @kotlinclib_floatToInt(float %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_floatToLong(float %value) #0 { +define weak i32 @kotlinclib_floatToLong(float %value) #0 { %1 = alloca float, align 4 store float %value, float* %1, align 4 %2 = load float* %1, align 4 @@ -314,7 +314,7 @@ define i32 @kotlinclib_floatToLong(float %value) #0 { } ; Function Attrs: nounwind -define double @kotlinclib_floatToDouble(float %value) #0 { +define weak double @kotlinclib_floatToDouble(float %value) #0 { %1 = alloca float, align 4 store float %value, float* %1, align 4 %2 = load float* %1, align 4 @@ -323,7 +323,7 @@ define double @kotlinclib_floatToDouble(float %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_doubleToByte(double %value) #0 { +define weak zeroext i8 @kotlinclib_doubleToByte(double %value) #0 { %1 = alloca double, align 8 store double %value, double* %1, align 8 %2 = load double* %1, align 8 @@ -332,7 +332,7 @@ define zeroext i8 @kotlinclib_doubleToByte(double %value) #0 { } ; Function Attrs: nounwind -define zeroext i8 @kotlinclib_doubleToChar(double %value) #0 { +define weak zeroext i8 @kotlinclib_doubleToChar(double %value) #0 { %1 = alloca double, align 8 store double %value, double* %1, align 8 %2 = load double* %1, align 8 @@ -341,7 +341,7 @@ define zeroext i8 @kotlinclib_doubleToChar(double %value) #0 { } ; Function Attrs: nounwind -define signext i16 @kotlinclib_doubleToShort(double %value) #0 { +define weak signext i16 @kotlinclib_doubleToShort(double %value) #0 { %1 = alloca double, align 8 store double %value, double* %1, align 8 %2 = load double* %1, align 8 @@ -350,7 +350,7 @@ define signext i16 @kotlinclib_doubleToShort(double %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_doubleToInt(double %value) #0 { +define weak i32 @kotlinclib_doubleToInt(double %value) #0 { %1 = alloca double, align 8 store double %value, double* %1, align 8 %2 = load double* %1, align 8 @@ -359,7 +359,7 @@ define i32 @kotlinclib_doubleToInt(double %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_doubleToLong(double %value) #0 { +define weak i32 @kotlinclib_doubleToLong(double %value) #0 { %1 = alloca double, align 8 store double %value, double* %1, align 8 %2 = load double* %1, align 8 @@ -368,7 +368,7 @@ define i32 @kotlinclib_doubleToLong(double %value) #0 { } ; Function Attrs: nounwind -define float @kotlinclib_doubleToFloat(double %value) #0 { +define weak float @kotlinclib_doubleToFloat(double %value) #0 { %1 = alloca double, align 8 store double %value, double* %1, align 8 %2 = load double* %1, align 8 @@ -377,37 +377,37 @@ define float @kotlinclib_doubleToFloat(double %value) #0 { } ; Function Attrs: nounwind -define i32 @kotlinclib_int_size() #0 { +define weak i32 @kotlinclib_int_size() #0 { ret i32 4 } ; Function Attrs: nounwind -define i32 @kotlinclib_long_size() #0 { +define weak i32 @kotlinclib_long_size() #0 { ret i32 4 } ; Function Attrs: nounwind -define i32 @kotlinclib_boolean_size() #0 { +define weak i32 @kotlinclib_boolean_size() #0 { ret i32 1 } ; Function Attrs: nounwind -define i32 @kotlinclib_short_size() #0 { +define weak i32 @kotlinclib_short_size() #0 { ret i32 2 } ; Function Attrs: nounwind -define i32 @kotlinclib_double_size() #0 { +define weak i32 @kotlinclib_double_size() #0 { ret i32 8 } ; Function Attrs: nounwind -define i32 @kotlinclib_float_size() #0 { +define weak i32 @kotlinclib_float_size() #0 { ret i32 4 } ; Function Attrs: nounwind -define i32 @kotlinclib_char_size() #0 { +define weak i32 @kotlinclib_char_size() #0 { ret i32 1 }