Re-enable LTO for ARM builds
authorkrollin@apple.com <krollin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Feb 2020 02:04:36 +0000 (02:04 +0000)
committerkrollin@apple.com <krollin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Feb 2020 02:04:36 +0000 (02:04 +0000)
https://bugs.webkit.org/show_bug.cgi?id=207402
<rdar://problem/49190767>

Reviewed by Sam Weinig.

Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
Enabling it for ARM was left out due to a compiler issue. That issue
has been fixed, and so now we can re-enable LTO for ARM.

Source/bmalloc:

* Configurations/Base.xcconfig:

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:

Source/ThirdParty/libwebrtc:

* Configurations/Base.xcconfig:

Source/WebCore:

No new tests -- no new or changed functionality.

* Configurations/Base.xcconfig:

Source/WebCore/PAL:

* Configurations/Base.xcconfig:

Source/WebInspectorUI:

* Configurations/Base.xcconfig:

Source/WebKit:

* Configurations/Base.xcconfig:

Source/WebKitLegacy/mac:

* Configurations/Base.xcconfig:

Source/WTF:

* Configurations/Base.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

20 files changed:
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/Base.xcconfig
Source/ThirdParty/ANGLE/ChangeLog
Source/ThirdParty/ANGLE/Configurations/Base.xcconfig
Source/ThirdParty/libwebrtc/ChangeLog
Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig
Source/WTF/ChangeLog
Source/WTF/Configurations/Base.xcconfig
Source/WebCore/ChangeLog
Source/WebCore/Configurations/Base.xcconfig
Source/WebCore/PAL/ChangeLog
Source/WebCore/PAL/Configurations/Base.xcconfig
Source/WebInspectorUI/ChangeLog
Source/WebInspectorUI/Configurations/Base.xcconfig
Source/WebKit/ChangeLog
Source/WebKit/Configurations/Base.xcconfig
Source/WebKitLegacy/mac/ChangeLog
Source/WebKitLegacy/mac/Configurations/Base.xcconfig
Source/bmalloc/ChangeLog
Source/bmalloc/Configurations/Base.xcconfig

index b3202e3..462ede9 100644 (file)
@@ -1,3 +1,17 @@
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        * Configurations/Base.xcconfig:
+
 2020-02-08  Sam Weinig  <weinig@apple.com>
 
         Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
index e9ed04c..0937b9b 100644 (file)
@@ -178,21 +178,30 @@ WK_COCOA_TOUCH_appletvos = cocoatouch;
 WK_COCOA_TOUCH_appletvsimulator = cocoatouch;
 WK_IS_COCOA_TOUCH = $(WK_NOT_$(WK_EMPTY_$(WK_COCOA_TOUCH)));
 
-// Disable on all platforms other than macOS, due to <rdar://problem/49013399>.
+// Disable LTO for JavaScriptCore, due to <rdar://problem/24543547>. Add back the following line and delete the one that says "LLVM_LTO = NO" when that issue is resolved.
+// LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 LLVM_LTO = NO;
-// Disable LTO for JavaScriptCore, due to <rdar://problem/24543547>. Add back the following line when that issue is resolved.
-// LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 WK_LLVM_LTO_NO = NO;
 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
 
 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR)));
-WK_XCODE_VERSION_BEFORE_10_2_0700 = YES;
+WK_XCODE_SUPPORTS_LTO[arch=arm*] = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_11_4_$(XCODE_VERSION_MAJOR)));
+
 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR));
 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES;
 
+WK_XCODE_VERSION_BEFORE_11_4_0800 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_0900 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1000 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100 = $(WK_XCODE_VERSION_BEFORE_11_4_1100_$(XCODE_VERSION_MINOR));
+WK_XCODE_VERSION_BEFORE_11_4_1100_1100 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1110 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1120 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1130 = YES;
+
 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
 WK_USER_LTO_MODE_full = YES;
 WK_USER_LTO_MODE_thin = YES_THIN;
index 0bd72cf..f63fb3e 100644 (file)
@@ -1,3 +1,17 @@
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        * Configurations/Base.xcconfig:
+
 2020-02-07  Kenneth Russell  <kbr@chromium.org>
 
         Try adding glBindFramebuffer flush workaround to ANGLE as remedy for flaky WebGL tests
index 0ae54e3..e403f39 100644 (file)
@@ -78,20 +78,28 @@ ANGLE_INSTALL_PATH_PREFIX = $(ANGLE_INSTALL_PATH_PREFIX_DEPLOYMENT_$(DEPLOYMENT_
 ANGLE_INSTALL_PATH_PREFIX_DEPLOYMENT_YES = $(ANGLE_INSTALL_PATH_PREFIX_DEPLOYMENT_YES_USE_ALTERNATE_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR));
 ANGLE_INSTALL_PATH_PREFIX_DEPLOYMENT_YES_USE_ALTERNATE_YES = $(WK_ALTERNATE_FRAMEWORKS_DIR)/;
 
-// Disable on all platforms other than macOS, due to <rdar://problem/49013399>.
-LLVM_LTO = NO;
-LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
+LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 WK_LLVM_LTO_NO = NO;
 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
 
 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR)));
-WK_XCODE_VERSION_BEFORE_10_2_0700 = YES;
+WK_XCODE_SUPPORTS_LTO[arch=arm*] = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_11_4_$(XCODE_VERSION_MAJOR)));
+
 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR));
 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES;
 
+WK_XCODE_VERSION_BEFORE_11_4_0800 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_0900 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1000 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100 = $(WK_XCODE_VERSION_BEFORE_11_4_1100_$(XCODE_VERSION_MINOR));
+WK_XCODE_VERSION_BEFORE_11_4_1100_1100 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1110 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1120 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1130 = YES;
+
 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
 WK_USER_LTO_MODE_full = YES;
 WK_USER_LTO_MODE_thin = YES_THIN;
index 451d4a0..4d41ac3 100644 (file)
@@ -1,3 +1,17 @@
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        * Configurations/Base.xcconfig:
+
 2020-02-03  youenn fablet  <youenn@apple.com>
 
         Make sure RTCVideoEncoderH264 generate a keyframe even if the frame that was supposed to be a key frame was dropped
index f23b019..03df0fd 100644 (file)
@@ -110,20 +110,28 @@ WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_YES = $(WK_INSTALL_PATH_PREF
 WK_INSTALL_PATH_PREFIX = $(WK_INSTALL_PATH_PREFIX_DEPLOYMENT_$(DEPLOYMENT_LOCATION)$(WK_MACOS_1015)_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
 WK_INSTALL_PATH_PREFIX_DEPLOYMENT_YES_MACOS_SINCE_1015_USE_STAGING_INSTALL_PATH_YES = $(PLATFORM_OOB_SYSTEM_CONTENT_DIR);
 
-// Disable on all platforms other than macOS, due to <rdar://problem/49013399>.
-LLVM_LTO = NO;
-LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
+LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 WK_LLVM_LTO_NO = NO;
 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
 
 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR)));
-WK_XCODE_VERSION_BEFORE_10_2_0700 = YES;
+WK_XCODE_SUPPORTS_LTO[arch=arm*] = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_11_4_$(XCODE_VERSION_MAJOR)));
+
 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR));
 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES;
 
+WK_XCODE_VERSION_BEFORE_11_4_0800 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_0900 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1000 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100 = $(WK_XCODE_VERSION_BEFORE_11_4_1100_$(XCODE_VERSION_MINOR));
+WK_XCODE_VERSION_BEFORE_11_4_1100_1100 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1110 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1120 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1130 = YES;
+
 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
 WK_USER_LTO_MODE_full = YES;
 WK_USER_LTO_MODE_thin = YES_THIN;
index e019bc3..0a9205b 100644 (file)
@@ -1,3 +1,17 @@
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        * Configurations/Base.xcconfig:
+
 2020-02-08  Sam Weinig  <weinig@apple.com>
 
         Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
index acb48eb..3a60e06 100644 (file)
@@ -134,20 +134,28 @@ OTHER_CFLAGS = $(ASAN_OTHER_CFLAGS);
 OTHER_CPLUSPLUSFLAGS = $(ASAN_OTHER_CPLUSPLUSFLAGS);
 OTHER_LDFLAGS = $(ASAN_OTHER_LDFLAGS);
 
-// Disable on all platforms other than macOS, due to <rdar://problem/49013399>.
-LLVM_LTO = NO;
-LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
+LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 WK_LLVM_LTO_NO = NO;
 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
 
 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR)));
-WK_XCODE_VERSION_BEFORE_10_2_0700 = YES;
+WK_XCODE_SUPPORTS_LTO[arch=arm*] = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_11_4_$(XCODE_VERSION_MAJOR)));
+
 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR));
 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES;
 
+WK_XCODE_VERSION_BEFORE_11_4_0800 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_0900 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1000 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100 = $(WK_XCODE_VERSION_BEFORE_11_4_1100_$(XCODE_VERSION_MINOR));
+WK_XCODE_VERSION_BEFORE_11_4_1100_1100 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1110 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1120 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1130 = YES;
+
 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
 WK_USER_LTO_MODE_full = YES;
 WK_USER_LTO_MODE_thin = YES_THIN;
index 54103c9..bbe7a1b 100644 (file)
@@ -1,3 +1,19 @@
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        No new tests -- no new or changed functionality.
+
+        * Configurations/Base.xcconfig:
+
 2020-02-09  Antti Koivisto  <antti@apple.com>
 
         [LFC][Integration] Support intruding floats
index 07bccbb..e00c88d 100644 (file)
@@ -143,20 +143,28 @@ WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH = $(SDKROOT)/$(WK_WEBKITADDITIONS_INSTALL
 WK_WEBCORE_DERIVEDSOURCES_INPUT_XCFILELIST_ADDITIONS = $(WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH)/WebCore/DerivedSources-input.xcfilelist
 WK_WEBCORE_DERIVEDSOURCES_OUTPUT_XCFILELIST_ADDITIONS = $(WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH)/WebCore/DerivedSources-output.xcfilelist
 
-// Disable on all platforms other than macOS, due to <rdar://problem/49013399>.
-LLVM_LTO = NO;
-LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
+LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 WK_LLVM_LTO_NO = NO;
 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
 
 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR)));
-WK_XCODE_VERSION_BEFORE_10_2_0700 = YES;
+WK_XCODE_SUPPORTS_LTO[arch=arm*] = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_11_4_$(XCODE_VERSION_MAJOR)));
+
 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR));
 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES;
 
+WK_XCODE_VERSION_BEFORE_11_4_0800 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_0900 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1000 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100 = $(WK_XCODE_VERSION_BEFORE_11_4_1100_$(XCODE_VERSION_MINOR));
+WK_XCODE_VERSION_BEFORE_11_4_1100_1100 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1110 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1120 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1130 = YES;
+
 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
 WK_USER_LTO_MODE_full = YES;
 WK_USER_LTO_MODE_thin = YES_THIN;
index 33cef51..c32754a 100644 (file)
@@ -1,3 +1,17 @@
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        * Configurations/Base.xcconfig:
+
 2020-02-08  Sam Weinig  <weinig@apple.com>
 
         Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
index e7c03f8..f1dc616 100644 (file)
@@ -135,20 +135,28 @@ WK_COCOA_TOUCH_appletvos = cocoatouch;
 WK_COCOA_TOUCH_appletvsimulator = cocoatouch;
 WK_IS_COCOA_TOUCH = $(WK_NOT_$(WK_EMPTY_$(WK_COCOA_TOUCH)));
 
-// Disable on all platforms other than macOS, due to <rdar://problem/49013399>.
-LLVM_LTO = NO;
-LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
+LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 WK_LLVM_LTO_NO = NO;
 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
 
 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR)));
-WK_XCODE_VERSION_BEFORE_10_2_0700 = YES;
+WK_XCODE_SUPPORTS_LTO[arch=arm*] = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_11_4_$(XCODE_VERSION_MAJOR)));
+
 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR));
 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES;
 
+WK_XCODE_VERSION_BEFORE_11_4_0800 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_0900 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1000 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100 = $(WK_XCODE_VERSION_BEFORE_11_4_1100_$(XCODE_VERSION_MINOR));
+WK_XCODE_VERSION_BEFORE_11_4_1100_1100 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1110 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1120 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1130 = YES;
+
 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
 WK_USER_LTO_MODE_full = YES;
 WK_USER_LTO_MODE_thin = YES_THIN;
index aa5fff8..eb9abf0 100644 (file)
@@ -1,3 +1,17 @@
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        * Configurations/Base.xcconfig:
+
 2020-02-07  Jon Lee  <jonlee@apple.com>
 
         Web Inspector: Revert slim toolbar
index 772c04b..86fda12 100644 (file)
@@ -107,20 +107,28 @@ WK_COCOA_TOUCH_appletvos = cocoatouch;
 WK_COCOA_TOUCH_appletvsimulator = cocoatouch;
 WK_IS_COCOA_TOUCH = $(WK_NOT_$(WK_EMPTY_$(WK_COCOA_TOUCH)));
 
-// Disable on all platforms other than macOS, due to <rdar://problem/49013399>.
-LLVM_LTO = NO;
-LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
+LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 WK_LLVM_LTO_NO = NO;
 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
 
 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR)));
-WK_XCODE_VERSION_BEFORE_10_2_0700 = YES;
+WK_XCODE_SUPPORTS_LTO[arch=arm*] = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_11_4_$(XCODE_VERSION_MAJOR)));
+
 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR));
 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES;
 
+WK_XCODE_VERSION_BEFORE_11_4_0800 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_0900 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1000 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100 = $(WK_XCODE_VERSION_BEFORE_11_4_1100_$(XCODE_VERSION_MINOR));
+WK_XCODE_VERSION_BEFORE_11_4_1100_1100 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1110 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1120 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1130 = YES;
+
 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
 WK_USER_LTO_MODE_full = YES;
 WK_USER_LTO_MODE_thin = YES_THIN;
index 273e079..3304194 100644 (file)
@@ -1,3 +1,17 @@
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        * Configurations/Base.xcconfig:
+
 2020-02-09  Wenson Hsieh  <wenson_hsieh@apple.com>
 
         Fix the watchOS build after <rdar://problem/56134081>
index 417cebf..06f1778 100644 (file)
@@ -157,20 +157,28 @@ WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH = $(SDKROOT)/$(WK_WEBKITADDITIONS_INSTALL
 WK_WEBKIT_DERIVEDSOURCES_INPUT_XCFILELIST_ADDITIONS = $(WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH)/WebKit/DerivedSources-input.xcfilelist
 WK_WEBKIT_DERIVEDSOURCES_OUTPUT_XCFILELIST_ADDITIONS = $(WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH)/WebKit/DerivedSources-output.xcfilelist
 
-// Disable on all platforms other than macOS, due to <rdar://problem/49013399>.
-LLVM_LTO = NO;
-LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
+LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 WK_LLVM_LTO_NO = NO;
 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
 
 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR)));
-WK_XCODE_VERSION_BEFORE_10_2_0700 = YES;
+WK_XCODE_SUPPORTS_LTO[arch=arm*] = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_11_4_$(XCODE_VERSION_MAJOR)));
+
 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR));
 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES;
 
+WK_XCODE_VERSION_BEFORE_11_4_0800 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_0900 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1000 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100 = $(WK_XCODE_VERSION_BEFORE_11_4_1100_$(XCODE_VERSION_MINOR));
+WK_XCODE_VERSION_BEFORE_11_4_1100_1100 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1110 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1120 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1130 = YES;
+
 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
 WK_USER_LTO_MODE_full = YES;
 WK_USER_LTO_MODE_thin = YES_THIN;
index 8095bf9..81b5c9c 100644 (file)
@@ -1,3 +1,17 @@
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        * Configurations/Base.xcconfig:
+
 2020-02-08  Sam Weinig  <weinig@apple.com>
 
         Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
index acf1364..a025982 100644 (file)
@@ -135,20 +135,28 @@ WK_COCOA_TOUCH_appletvos = cocoatouch;
 WK_COCOA_TOUCH_appletvsimulator = cocoatouch;
 WK_IS_COCOA_TOUCH = $(WK_NOT_$(WK_EMPTY_$(WK_COCOA_TOUCH)));
 
-// Disable on all platforms other than macOS, due to <rdar://problem/49013399>.
-LLVM_LTO = NO;
-LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
+LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 WK_LLVM_LTO_NO = NO;
 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
 
 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR)));
-WK_XCODE_VERSION_BEFORE_10_2_0700 = YES;
+WK_XCODE_SUPPORTS_LTO[arch=arm*] = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_11_4_$(XCODE_VERSION_MAJOR)));
+
 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR));
 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES;
 
+WK_XCODE_VERSION_BEFORE_11_4_0800 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_0900 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1000 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100 = $(WK_XCODE_VERSION_BEFORE_11_4_1100_$(XCODE_VERSION_MINOR));
+WK_XCODE_VERSION_BEFORE_11_4_1100_1100 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1110 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1120 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1130 = YES;
+
 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
 WK_USER_LTO_MODE_full = YES;
 WK_USER_LTO_MODE_thin = YES_THIN;
index 485fdfd..914bd41 100644 (file)
@@ -1,3 +1,17 @@
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        * Configurations/Base.xcconfig:
+
 2020-02-08  Basuke Suzuki  <basuke.suzuki@sony.com>
 
         [bmalloc] VMHeap can be merge into Heap
index d40b2ee..9733784 100644 (file)
@@ -132,20 +132,28 @@ BMALLOC_INSTALL_PATH_PREFIX = $(BMALLOC_INSTALL_PATH_PREFIX_DEPLOYMENT_$(DEPLOYM
 BMALLOC_INSTALL_PATH_PREFIX_DEPLOYMENT_YES = $(BMALLOC_INSTALL_PATH_PREFIX_DEPLOYMENT_YES_USE_ALTERNATE_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR));
 BMALLOC_INSTALL_PATH_PREFIX_DEPLOYMENT_YES_USE_ALTERNATE_YES = $(WK_ALTERNATE_FRAMEWORKS_DIR)/;
 
-// Disable on all platforms other than macOS, due to <rdar://problem/49013399>.
-LLVM_LTO = NO;
-LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
+LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
 WK_LLVM_LTO_NO = NO;
 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
 
 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR)));
-WK_XCODE_VERSION_BEFORE_10_2_0700 = YES;
+WK_XCODE_SUPPORTS_LTO[arch=arm*] = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_11_4_$(XCODE_VERSION_MAJOR)));
+
 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR));
 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES;
 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES;
 
+WK_XCODE_VERSION_BEFORE_11_4_0800 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_0900 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1000 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100 = $(WK_XCODE_VERSION_BEFORE_11_4_1100_$(XCODE_VERSION_MINOR));
+WK_XCODE_VERSION_BEFORE_11_4_1100_1100 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1110 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1120 = YES;
+WK_XCODE_VERSION_BEFORE_11_4_1100_1130 = YES;
+
 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
 WK_USER_LTO_MODE_full = YES;
 WK_USER_LTO_MODE_thin = YES_THIN;