Im finding things to be really unstable and Im using “-O9 -ffast-math -fomit-frame-pointer” optimizations. What gives?
When you use any optimizations beyond -O3, you’re really taking the risk of having broken packages. Very aggressive optimizations sometimes cause the compiler to streamline the assembly code to the point where it doesn’t quite do the same thing anymore. Loc-Dog (on IRC) uses -O3 -mcpu=i686 -march=i686 -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -malign-functions=4, which is about as much as I’d want to push global optimization settings. Beyond this, it’s best to use ultra-high optimizations only with specific packages where you really need that extra 2%, (eg graphics and various multimedia programs), and where you can easily test the package to ensure that it hasn’t been optimized into oblivion.
Related Questions
- My device seems to be unstable (stops suddenly, often gives error messages, or fails to run an application). What can I do?
- Im finding things to be really unstable and Im using "-O9 -ffast-math -fomit-frame-pointer" optimizations. What gives?
- Things are really unstable and Im using -O9 -ffast-math -fomit-frame-pointer optimizations. What gives?