Skip to content

Tune optimization flags on CDI macros.#929

Merged
balazsracz merged 1 commit into
masterfrom
bracz-optimize-optionalarg
Apr 26, 2026
Merged

Tune optimization flags on CDI macros.#929
balazsracz merged 1 commit into
masterfrom
bracz-optimize-optionalarg

Conversation

@balazsracz

Copy link
Copy Markdown
Collaborator

Marks certain constexpr constructors and functions as always-inline.

Armgcc that is newer than 2018 makes a strange optimization decision with our CDI macros; one of the helper classes gets instantiated in the codebase, which pulls in a ton of dependencies. The resulting code is much much bigger.

By marking these constexpr functions as always inline the code size of gcc 15 is competitive with that of gcc 8.

Marks certain constexpr constructors and functions as always-inline.

Armgcc that is newer than 2018 makes a strange optimization decision with our
CDI macros; one of the helper classes gets instantiated in the codebase,
which pulls in a ton of dependencies. The resulting code is much much bigger.

By marking these constexpr functions as always inline the code size of gcc 15
is competitive with that of gcc 8.
@balazsracz balazsracz requested a review from bakerstu April 26, 2026 18:40
@balazsracz balazsracz merged commit 9070143 into master Apr 26, 2026
12 checks passed
@balazsracz balazsracz deleted the bracz-optimize-optionalarg branch April 26, 2026 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants