blob: a5472f4b3fec7c246cb28838538076d459f7fa83 [file] [log] [blame]
Ying Wang1f982832014-02-06 18:08:44 -08001# Clang flags for arm arch, target or host.
2
Chih-Hung Hsieh57c8a152014-10-22 09:21:53 -07003CLANG_CONFIG_arm_EXTRA_ASFLAGS :=
Ying Wang1f982832014-02-06 18:08:44 -08004
Chih-Hung Hsieh57c8a152014-10-22 09:21:53 -07005CLANG_CONFIG_arm_EXTRA_CFLAGS :=
Ying Wang1f982832014-02-06 18:08:44 -08006
Chih-Hung Hsieh57c8a152014-10-22 09:21:53 -07007CLANG_CONFIG_arm_EXTRA_CPPFLAGS :=
Tim Murray43d5e1b2014-04-03 16:06:59 -07008
Chih-Hung Hsieh57c8a152014-10-22 09:21:53 -07009CLANG_CONFIG_arm_EXTRA_LDFLAGS :=
Ying Wang1f982832014-02-06 18:08:44 -080010
11# Include common unknown flags
12CLANG_CONFIG_arm_UNKNOWN_CFLAGS := \
13 $(CLANG_CONFIG_UNKNOWN_CFLAGS) \
14 -mthumb-interwork \
15 -fgcse-after-reload \
16 -frerun-cse-after-loop \
17 -frename-registers \
Ying Wang1f982832014-02-06 18:08:44 -080018 -fno-align-jumps \
Chih-Hung Hsieh02781742014-08-25 13:57:57 -070019 -fno-builtin-sin \
20 -fno-caller-saves \
21 -fno-early-inlining \
22 -fno-move-loop-invariants \
23 -fno-partial-inlining \
24 -fno-strict-volatile-bitfields \
25 -fno-tree-copy-prop \
Dan Willemsend1baa0f2016-01-12 15:47:58 -080026 -fno-tree-loop-optimize
Ying Wang1f982832014-02-06 18:08:44 -080027
Dan Willemsenaeadf412016-05-09 14:53:22 -070028ifneq (,$(filter krait,$(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)))
29 # Android's clang support's krait as a CPU whereas GCC doesn't. Specify
30 # -mcpu here rather than the more normal core/combo/arch/arm/armv7-a-neon.mk.
31 CLANG_CONFIG_arm_EXTRA_CFLAGS += -mcpu=krait -mfpu=neon-vfpv4
32
33 # This isn't really unknown, but allows us to only set -mcpu=krait
34 CLANG_CONFIG_arm_UNKNOWN_CFLAGS += -mcpu=cortex-a15
35endif
36
Ying Wang1f982832014-02-06 18:08:44 -080037define subst-clang-incompatible-arm-flags
38 $(subst -march=armv5te,-march=armv5t,\
39 $(subst -march=armv5e,-march=armv5,\
Bernhard Rosenkränzera24a9a82015-03-25 16:59:46 +010040 $(1)))
Ying Wang1f982832014-02-06 18:08:44 -080041endef