Add opt-in /Os for Windows Release builds - #8998
Open
Alex Sepkowski (alsepkow) wants to merge 1 commit into
Open
Alex Sepkowski (alsepkow) wants to merge 1 commit into
Alex Sepkowski (alsepkow) wants to merge 1 commit into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Alex Sepkowski (alsepkow)
marked this pull request as ready for review
October 2, 2026 01:37
Contributor
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The scoped CMake changes correctly preserve /O2 while adding the requested opt-in size preference.
Review effort: Balanced
Findings: None
What changed in this PR
Adds an optional MSVC size preference for Windows Release builds without changing default behavior.
Changes:
- Adds the
DXC_OPTIMIZE_FOR_SIZECMake option, defaulting toOFF. - Appends
/Osto Release C and C++ flags when enabled.
| File | Description |
|---|---|
CMakeLists.txt |
Defines the opt-in size optimization setting. |
cmake/modules/HandleLLVMOptions.cmake |
Applies /Os to MSVC Release builds. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add an opt-in size preference for Windows Release builds.
Change
DXC_OPTIMIZE_FOR_SIZE, defaulting toOFF./Osto the C and C++ Release flags on MSVC./Osis used alongside/O2: Release builds remain fully optimized, while MSVC favors smaller generated code when an optimization involves a choice between code size and execution speed.Validation
DXC_OPTIMIZE_FOR_SIZE=ON.llvm-tblgen.vcxprojcontainsOptimization=MaxSpeedandFavorSizeOrSpeed=Size, confirming/O2remains enabled while/Ossupplies the size preference.Assisted-By: Copilot