https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089
--- Comment #78 from Oleg Endo <olegendo at gcc dot gnu.org> --- (In reply to Alexander Klepikov from comment #77) > > It'd be good if the newly added passes are ran only with -O2 or higher. > > This can be confusing to users when they discover that not all invariants > are moved out of loops. Then we should inform them about that at least. I don't think the compiler reports any optimizations not done to the user at lower optimization levels? It's normal not to do certain optimizations at a lower level, that's why we have -O0 -O1 -O2 ... or do you mean something else by that? > I'm thinking about this for some time. We know that we should potentially > run additional loop optimization pass when we're splitting libcall. I did > not find the way to know in what function we are splitting yet. The compiler processes one function at a time, all passes at once. It doesn't mix passes of different functions. So I think using global variable in sh.cc + override 'set_current_function' should get the job done. When the insn split code is executed, just set the global flag in the SH specific function context. > I see some strange new exec fails only at testsuite logs. Right now I'm > trying to find the cause. What's the configure line of your GCC build?