From df13e5b6f46d41febcd19f94bf78068465c4784c Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Thu, 25 Apr 2024 14:10:06 +0200 Subject: [PATCH 1/4] [wasm] Add optimization flag to bitcode compilation comping from LD optimization flags. This should also fix the recent size regression. --- src/mono/browser/build/BrowserWasmApp.targets | 3 +++ src/mono/wasi/build/WasiApp.targets | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/mono/browser/build/BrowserWasmApp.targets b/src/mono/browser/build/BrowserWasmApp.targets index 484d3486c5eaa..40156b3265acd 100644 --- a/src/mono/browser/build/BrowserWasmApp.targets +++ b/src/mono/browser/build/BrowserWasmApp.targets @@ -260,6 +260,8 @@ $(_EmccOptimizationFlagDefault) $(EmccCompileOptimizationFlag) + -O2 + WasmCompileOptimizationFlag -O2 $(WasmCompileOptimizationFlag) $(EmccLinkOptimizationFlag) @@ -406,6 +408,7 @@ + <_BitcodeCompileFlags Include="$(WasmBitcodeCompileOptimizationFlag)" /> <_BitcodeCompileFlags Include="@(_EmccCommonFlags)" /> <_BitcodeCompileFlags Include="$(EmccExtraBitcodeCompilationFlags)" /> diff --git a/src/mono/wasi/build/WasiApp.targets b/src/mono/wasi/build/WasiApp.targets index c5ecf84ad0c73..cad25a7606729 100644 --- a/src/mono/wasi/build/WasiApp.targets +++ b/src/mono/wasi/build/WasiApp.targets @@ -148,6 +148,8 @@ $(_WasiClangOptimizationFlagDefault) $(WasiClangCompileOptimizationFlag) + -O2 + $(WasiClangCompileOptimizationFlag) -O2 $(WasiClangCompileOptimizationFlag) $(WasiClangLinkOptimizationFlag) @@ -265,6 +267,7 @@ + <_BitcodeCompileFlags Include="@(WasiBitcodeCompileOptimizationFlag)" /> <_BitcodeCompileFlags Include="@(_WasiClangCommonFlags)" /> <_BitcodeCompileFlags Include="$(WasiClangExtraBitcodeCompileFlags)" /> From 85be7b4ec31d1967c914239340eff5c987c1f6d9 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Thu, 25 Apr 2024 14:23:31 +0200 Subject: [PATCH 2/4] Document the new property --- src/mono/wasm/build/WasmApp.Common.targets | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mono/wasm/build/WasmApp.Common.targets b/src/mono/wasm/build/WasmApp.Common.targets index f06b9a1261fe5..e9cda6ccea50e 100644 --- a/src/mono/wasm/build/WasmApp.Common.targets +++ b/src/mono/wasm/build/WasmApp.Common.targets @@ -44,6 +44,8 @@ - $(EmccLinkOptimizationFlag) - Optimization flag to use for the link step - $(EmccCompileOptimizationFlag) - Optimization flag to use for compiling native files + - $(WasmBitcodeCompileOptimizationFlag) + - Optimization flag to use for compiling bitcode files - $(EmccFlags) - Emcc flags used for both compiling native files, and linking - $(EmccExtraLDFlags) - Extra emcc flags for linking From 3dcc8acba50a3b8222bbbc66182d716a85cbe033 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Thu, 25 Apr 2024 17:47:06 +0200 Subject: [PATCH 3/4] Update src/mono/browser/build/BrowserWasmApp.targets Co-authored-by: Larry Ewing --- src/mono/browser/build/BrowserWasmApp.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/browser/build/BrowserWasmApp.targets b/src/mono/browser/build/BrowserWasmApp.targets index 40156b3265acd..73f2ad169069f 100644 --- a/src/mono/browser/build/BrowserWasmApp.targets +++ b/src/mono/browser/build/BrowserWasmApp.targets @@ -261,7 +261,7 @@ $(EmccCompileOptimizationFlag) -O2 - WasmCompileOptimizationFlag + $(WasmCompileOptimizationFlag) -O2 $(WasmCompileOptimizationFlag) $(EmccLinkOptimizationFlag) From 1ea9dcb38402973557deed687d3e29dd91483946 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Thu, 25 Apr 2024 17:49:08 +0200 Subject: [PATCH 4/4] Fix the conditions --- src/mono/browser/build/BrowserWasmApp.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mono/browser/build/BrowserWasmApp.targets b/src/mono/browser/build/BrowserWasmApp.targets index 73f2ad169069f..d75513604304c 100644 --- a/src/mono/browser/build/BrowserWasmApp.targets +++ b/src/mono/browser/build/BrowserWasmApp.targets @@ -260,8 +260,8 @@ $(_EmccOptimizationFlagDefault) $(EmccCompileOptimizationFlag) - -O2 - $(WasmCompileOptimizationFlag) + -O2 + $(WasmCompileOptimizationFlag) -O2 $(WasmCompileOptimizationFlag) $(EmccLinkOptimizationFlag)