Bingfeng Mei wrote: > I just updated our porting to include last 2-3 weeks of GCC > developments. I noticed a large number of test failures at -O1 that > use a user-defined data type (based on a special register file of > our processor). All variables of such type are now spilled to memory > which we don't allow at -O1 because it is too expensive. After > investigation, I found that it is the following new code causes the > trouble. I don't quite understand the function of the new code, but > I don't see what's special for -O1 in terms of register allocation > in comparison with higher optimizing levels. If I change it to > (optimize < 1), everthing is fine as before. I start to wonder > whether (optimize <= 1) is a typo or intended. Thanks in advance.
-O1 is supposed to allow debugging but still optimize, so it's quite possible that Vlad did intend to do this. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39432 Andrew.