[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.
This commit is contained in:
Sergey Bogolepov
2021-07-30 14:52:22 +07:00
committed by Space
parent b37cdae966
commit e177cecd50
+9 -7
View File
@@ -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