From e177cecd5080ea33e1351bc012ab0303359eb4b1 Mon Sep 17 00:00:00 2001 From: Sergey Bogolepov Date: Fri, 30 Jul 2021 14:52:22 +0700 Subject: [PATCH] [K/N] Specify -target-cpu for all targets Motivation: 1. Avoid things like KT-47911. 2. Generate a bit more effective code in some cases. 3. A bit easier -Xoverride-konan-properties. --- kotlin-native/konan/konan.properties | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/kotlin-native/konan/konan.properties b/kotlin-native/konan/konan.properties index e4ab4d85728..039e04511a2 100644 --- a/kotlin-native/konan/konan.properties +++ b/kotlin-native/konan/konan.properties @@ -109,7 +109,7 @@ targetTriple.macos_x64 = x86_64-apple-macos targetSysRoot.macos_x64 = target-sysroot-xcode_12_5-macosx targetCpu.macos_x64 = core2 targetCpuFeatures.macos_x64=+cx16,+cx8,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87 -clangFlags.macos_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir +clangFlags.macos_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir -target-cpu $targetCpu.macos_x64 clangNooptFlags.macos_x64 = -O1 clangOptFlags.macos_x64 = -O3 clangDebugFlags.macos_x64 = -O0 @@ -188,7 +188,7 @@ targetTriple.ios_arm32 = armv7-apple-ios # Shared with 64-bit version. targetSysRoot.ios_arm32 = target-sysroot-xcode_12_5-iphoneos targetCpu.ios_arm32 = generic -clangFlags.ios_arm32 = -cc1 -emit-obj -disable-llvm-optzns -x ir +clangFlags.ios_arm32 = -cc1 -emit-obj -disable-llvm-optzns -x ir -target-cpu $targetCpu.ios_arm32 clangNooptFlags.ios_arm32 = -O1 clangOptFlags.ios_arm32 = -O3 clangDebugFlags.ios_arm32 = -O0 @@ -247,7 +247,7 @@ target-sysroot-xcode_12_5-iphonesimulator.default = \ targetTriple.ios_x64 = x86_64-apple-ios-simulator targetSysRoot.ios_x64 = target-sysroot-xcode_12_5-iphonesimulator targetCpu.ios_x64 = core2 -clangFlags.ios_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir +clangFlags.ios_x64 = -cc1 -emit-obj -disable-llvm-passes -x ir -target-cpu $targetCpu.ios_x64 clangNooptFlags.ios_x64 = -O1 clangOptFlags.ios_x64 = -O3 clangDebugFlags.ios_x64 = -O0 @@ -373,7 +373,7 @@ target-sysroot-xcode_12_5-watchos.default = \ targetTriple.watchos_arm32 = armv7k-apple-watchos targetSysRoot.watchos_arm32 = target-sysroot-xcode_12_5-watchos targetCpu.watchos_arm32 = cortex-a7 -clangFlags.watchos_arm32 = -cc1 -emit-obj -disable-llvm-passes -x ir +clangFlags.watchos_arm32 = -cc1 -emit-obj -disable-llvm-passes -x ir -target-cpu $targetCpu.watchos_arm32 clangNooptFlags.watchos_arm32 = -O1 clangOptFlags.watchos_arm32 = -O3 clangDebugFlags.watchos_arm32 = -O0 @@ -397,6 +397,8 @@ targetToolchain.macos_arm64-watchos_arm64 = target-toolchain-xcode_12_5 targetTriple.watchos_arm64 = arm64_32-apple-watchos targetSysRoot.watchos_arm64 = target-sysroot-xcode_12_5-watchos targetCpu.watchos_arm64 = cortex-a7 +# TODO: Use -target-cpu=apple-s4 after LLVM update. +# Note that we can't use $targetCpu.watchos_arm64 because bitcode is generated for watchos_arm32. clangFlags.watchos_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir -mllvm -aarch64-watch-bitcode-compatibility \ -mllvm -arm-bitcode-compatibility -mllvm -fast-isel=false -mllvm -global-isel=false clangNooptFlags.watchos_arm64 = -O1 @@ -646,8 +648,8 @@ linkerKonanFlags.linux_arm64 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \ --defsym __cxa_demangle=Konan_cxa_demangle # targetSysroot-relative. libGcc.linux_arm64 = ../../lib/gcc/aarch64-unknown-linux-gnu/8.3.0 -targetCpu.linux_arm64 = generic -clangFlags.linux_arm64 = -cc1 -target-cpu cortex-a57 -emit-obj -disable-llvm-optzns -x ir +targetCpu.linux_arm64 = cortex-a57 +clangFlags.linux_arm64 = -cc1 -target-cpu $targetCpu.linux_arm64 -emit-obj -disable-llvm-optzns -x ir clangNooptFlags.linux_arm64 = -O1 clangOptFlags.linux_arm64 = -O3 -ffunction-sections clangDebugFlags.linux_arm64 = -O0 @@ -973,7 +975,7 @@ dependencies.mingw_x64-wasm32 = \ targetTriple.wasm32 = wasm32-unknown-unknown targetSysRoot.wasm32 = target-sysroot-4-embedded targetCpu.wasm32 = generic -clangFlags.wasm32 = -cc1 -emit-obj -disable-llvm-optzns -x ir +clangFlags.wasm32 = -cc1 -emit-obj -disable-llvm-optzns -x ir -target-cpu $targetCpu.wasm32 clangNooptFlags.wasm32 = -O1 clangOptFlags.wasm32 = -O3 clangDebugFlags.wasm32 = -O0