-
Notifications
You must be signed in to change notification settings - Fork 5
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
GCC optimization levels - See why the tests are not passing for -O1, -O3 #491
Comments
@roman012285 - just FYI |
@roman012285 - FYI
See the example of the elf without any optimization vs -O1 (minimal optimization)
vs
2 interesting points: |
@roman012285 Another FYI - seems like test that use are graphic libs are the one that are having issues. I will need to debug this - and i would like to make the timeout shorter - ~50 sec is "too long" to figure out we have a timeout... If we have a specific test that needs a longer time we can override the TIMEOUT parameter using the "-g" parameter override. |
Crazy difference in sum |
I gave this a try and debug.. and things are confusing. the optimization makes it harder to understand. First i tried comparing with the reference model. Super simple - but its failing so its great to use for debug |
wow!!! very nice |
Seems like its failing now the mini_core.. I really tried to understand what happened there.. |
Still need to figure out if we can enable the compile optimization also for the mini_core and big_core.. I don't like it that the compile added 3 reads that are not used.. but i don't know what we can do about it.. |
nice! |
Currently in the GCC compile we are running without any optimizations when we are compiling are test.
Will note that we are adding the optimization level -O3 only in the linker and the final compilation, but the Original tests is already in assembly form that I don't know if there are other optimization that can take place when the code is already in assembly form.
See:
We need to modify the build to compile the "-S" with optimization.
Test it with -O1, -O2 and -O3.
i think -O1 should be a good starting point
See descutions To read about it.
The text was updated successfully, but these errors were encountered: