Comments (5)
Thank you.
from dxcore.
https://gcc.gnu.org/news/gcse.html
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
from dxcore.
I'm trying to comment on here without saying something that would be controversial, so all the ways this could have been a funny comment, sorry, couldn't come up with a way that I wasn't concerned would offend someone.
But yeah, toggling GCSE is when you do when you have no ideas on how to save space, don't need that much space, and haven't recently tried GCSE toggle.
In my tests, about 50% of the time it saved flash, and the rest of the time it cost flash.
Can you tell me exactly where that line is or submit a PR though? We no longer offer an option to select the level of optimization. You can still toggle GCSE, but you can't change the overall optimization level, because the dirty trick I used to prevent up to fifteen unused copies of the serial interrupt handlers kicking around breaks when speed optimized compilation is used, because it will attempt (utterly unsuccessfully) to undo all the things I did with great care in hand optimized asm and make it bloated and slower like it was before. Except because it doesn't do that successfully, the compilation fails.
As I am unaware of any way around this problem, and due to the magnitude (and frankly, the amount of effort it took alone would make me fall on my sword before removing it. It was a great deal of effort, and - now that it's in - does save like 500 bytes or something for each serial port after the first.
But it cost the optimization options. If the O2 and O3 optimization options were useful on AVR that would be a big deal. Thankfully the optimizer is such shit that we're really losing any functionality :-/
from dxcore.
Thanks! I would have been happy with something like:
"GCSE stands for Global Common Subexpression Elimination, and sometimes saves flash, but sometimes costs flash."
Can you tell me exactly where that line is or submit a PR though?
It was in 1.5.6 but is no longer in 1.5.11.
P.S. I was sorry not to get one of your funny comments!
from dxcore.
from dxcore.
Related Issues (20)
- D7 LED not blinking after burning bootloader into 32DD14 configured for Serial on D4/D5 (Serial0, Swap3) HOT 11
- On AVR-DD Parts can't configure MVIO for Single Supply via Tools MVIO Option in Arduino IDE HOT 1
- EVENT AND COMPARATOR ISSUES WITH EA and EB parts HOT 5
- How to do OTA? AVR128DB64 HOT 2
- Wrong timer for millis() on 14-pin DD part HOT 2
- HV programmer for DD series (and newer)
- Board Manager SSH Certificate Expired HOT 2
- AVR128DB48 unexpected behaviour HOT 5
- linking error: section .bss' is not within region data' HOT 1
- program avr128da28 chip using arduino uno as a programmer HOT 4
- error when burning the bootloader for avr128DA28 and arduino uno as updi HOT 4
- Is there a -r option hidden in the DxCore settings? HOT 3
- AVR64DU32 Curiosity Nano Board
- GPIOR registers used by core contrary to the documentation HOT 3
- AVR128DA48 and AVR128DB48 Curiosity Nano boards don't work on 1.5.8 or later HOT 2
- Autocomplete does not work with DxCore (and some megaTinyCore boards) in Arduino IDE 2.3.2 on 64-bit Linux
- PWM off TCD on 14-pin DD series HOT 1
- AVR32EA64 uploads once only HOT 2
- EA Timers HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dxcore.