[tvos_arm64][ios_arm64][codegen] Use SelectionDAG for -g builds

because fast instruction selector miscompiles sign extensions.
This commit is contained in:
Sergey Bogolepov
2019-08-30 19:54:45 +07:00
committed by Sergey Bogolepov
parent 392381c9ff
commit 5b2cc6f39c
+5 -2
View File
@@ -114,7 +114,10 @@ targetSysRoot.ios_arm64 = target-sysroot-9-ios_arm64
clangFlags.ios_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir
clangNooptFlags.ios_arm64 = -O1
clangOptFlags.ios_arm64 = -O3
clangDebugFlags.ios_arm64 = -O0
# We force LLVM to use SelectionDAG because fast isel may miscompile sign extension.
# Related:
# https://github.com/JetBrains/kotlin-native/issues/3290
clangDebugFlags.ios_arm64 = -O0 -mllvm -fast-isel=false -mllvm -global-isel=false
clangDynamicFlags.ios_arm64 =
linkerNoDebugFlags.ios_arm64 = -S
@@ -192,7 +195,7 @@ targetSysRoot.tvos_arm64 = target-sysroot-9-tvos_arm64
clangFlags.tvos_arm64 = -cc1 -emit-obj -disable-llvm-passes -x ir
clangNooptFlags.tvos_arm64 = -O1
clangOptFlags.tvos_arm64 = -O3
clangDebugFlags.tvos_arm64 = -O0
clangDebugFlags.tvos_arm64 = -O0 -mllvm -fast-isel=false -mllvm -global-isel=false
clangDynamicFlags.tvos_arm64 =
linkerNoDebugFlags.tvos_arm64 = -S