You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
SCons: Make lto=auto prefer ThinLTO over full LTO for LLVM targets
This speeds up build time considerably for these platforms compared to using `lto=full`, which is sadly single-threaded with LLVM, unlike GCC. Changes to default behavior of `lto=auto` (i.e. `production=yes`): - Linux: Prefer ThinLTO for LLVM - Web: Prefer ThinLTO - Windows: Prefer ThinLTO for llvm-mingw The following LLVM targets don't use LTO by default currently, which needs to be assessed further (gains from LLVM LTO on performance need to be weighed against the potential size increase from heavy inlining): - Android - iOS - macOS - Windows clang-cl
This commit is contained in:
@@ -762,8 +762,8 @@ def configure_mingw(env: "SConsEnvironment"):
|
||||
|
||||
## LTO
|
||||
|
||||
if env["lto"] == "auto": # Full LTO for production with MinGW.
|
||||
env["lto"] = "full"
|
||||
if env["lto"] == "auto": # Enable LTO for production with MinGW.
|
||||
env["lto"] = "thin" if env["use_llvm"] else "full"
|
||||
|
||||
if env["lto"] != "none":
|
||||
if env["lto"] == "thin":
|
||||
|
||||
Reference in New Issue
Block a user