Update FDO options to match what is needed by the framework
R=tomhudson@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/497503003
diff --git a/platform_tools/android/gyp_gen/makefile_writer.py b/platform_tools/android/gyp_gen/makefile_writer.py
index ddd584e..55a71d0 100644
--- a/platform_tools/android/gyp_gen/makefile_writer.py
+++ b/platform_tools/android/gyp_gen/makefile_writer.py
@@ -194,7 +194,16 @@
f.write(DEBUGGING_HELP)
write_clear_vars(f)
+
+ # need flags to enable feedback driven optimization (FDO) when requested
+ # by the build system.
f.write('LOCAL_FDO_SUPPORT := true\n')
+ f.write(
+ 'ifneq ($(strip $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_FDO_CFLAGS)),)\n')
+ f.write('\t# This should be the last -Oxxx specified in LOCAL_CFLAGS\n')
+ f.write('\tLOCAL_CFLAGS += -O2\n')
+ f.write('endif\n\n')
+
f.write('LOCAL_ARM_MODE := thumb\n')
# need a flag to tell the C side when we're on devices with large memory
diff --git a/platform_tools/android/tests/expectations/Android.mk b/platform_tools/android/tests/expectations/Android.mk
index 854fa6b..f9af5af 100644
--- a/platform_tools/android/tests/expectations/Android.mk
+++ b/platform_tools/android/tests/expectations/Android.mk
@@ -34,6 +34,11 @@
include $(CLEAR_VARS)
LOCAL_FDO_SUPPORT := true
+ifneq ($(strip $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_FDO_CFLAGS)),)
+ # This should be the last -Oxxx specified in LOCAL_CFLAGS
+ LOCAL_CFLAGS += -O2
+endif
+
LOCAL_ARM_MODE := thumb
ifeq ($(TARGET_ARCH),arm)
ifeq ($(ARCH_ARM_HAVE_VFP),true)