Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Core] Squeeze AVR some more with -mrelax and -mcall-prologues #16269

Merged
merged 2 commits into from
Feb 27, 2022

Commits on Feb 7, 2022

  1. [Core] Enable linker relaxation for AVR targets

    This can save some bytes for by using RJMP instructions to
    memory location that are +-2k relative to the current
    program counter position. Unfortunately this is only possible
    when LTO is disabled.
    KarlK90 committed Feb 7, 2022
    Configuration menu
    Copy the full SHA
    73c128c View commit details
    Browse the repository at this point in the history
  2. [Core] Use -mcall-prologues the save code size

    From GCC Manual:
    
    Functions prologues/epilogues are expanded as calls
    to appropriate subroutines. Code size is smaller.
    
    Small programs with few functions can increase in size,
    but QMK benefits from this as it is rather large.
    
    See: https://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_optflags
    KarlK90 committed Feb 7, 2022
    Configuration menu
    Copy the full SHA
    32dfd75 View commit details
    Browse the repository at this point in the history