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

Update to toolchain 3.1.0-gcc10.3 #8613

Merged
merged 2 commits into from
Jun 22, 2022
Merged

Conversation

earlephilhower
Copy link
Collaborator

No description provided.

Copy link
Collaborator

@d-a-v d-a-v left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM !
Flash occupation for a random ~500KB flash sketch was reduced by ~500 bytes

@earlephilhower
Copy link
Collaborator Author

Can you try again? BearSSL was rebuilt using one of the new optimization settings.

We also need to try the generated code out. I'm not 100% confident of all the changes at this point. There were a lot of machine definition changes...

@d-a-v
Copy link
Collaborator

d-a-v commented Jun 22, 2022

I just retried w/ BSSL/MFLN test.
It is working and ~1700 bytes smaller.
👍🏽
(inet issue: I replaced tls.mbed.org by www.github.com)

@jjsuwa-sys3175
Copy link
Contributor

jjsuwa-sys3175 commented Jun 22, 2022

the patches that seem to have remarkable effects with this update IMHO:

  • "Defer storing integer constants into litpool until reload"
    until now, early pooling of constants hindered integer optimizations.
  • "Add support for sibling call optimization"
    it reduces funccall overhead and stack usage.
  • "Improve constant synthesis for both integer and floating-point"
    new synthesis patterns, and early synthesis hindered integer optimizations until now.
  • and a couple of mods related to logical AND with constants...

(note: fixed-size/value aligned memset() goes inlined small loop especially on ESP32 due to zero overhead looping)

@earlephilhower
Copy link
Collaborator Author

Thanks @d-a-v ! I'd suggest we merge this ASAP to get as many user hours on it as possible before a release now that some complicated tests are proven good...

@d-a-v d-a-v merged commit dc6b15e into esp8266:master Jun 22, 2022
@earlephilhower earlephilhower deleted the tc31b branch June 22, 2022 10:45
@mcspr mcspr added this to the 3.1 milestone Jun 22, 2022
hasenradball pushed a commit to hasenradball/Arduino that referenced this pull request Nov 18, 2024
* Update to toolchain 3.1.0-gcc10.3

* Update BearSSL with L32R minimized

See earlephilhower/esp-quick-toolchain#36 (comment)
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.

4 participants