2012/1/13 Georg-Johann Lay <a...@gjlay.de>: > Denis Chertykov wrote: >> Georg-Johann Lay: >>> Denis Chertykov schrieb: >>> >>> 2) Can we remove from avr.c:avr_option_override() the following: >>> >>> if (avr_strict_X) >>> flag_caller_saves = 0; >>> >>> that hacked around similar spill fails? >>> >>> 3) As PR50775 is fixed: Would it make sense to turn on >>> -mstrict-X per default now, i.e. no more fake X >>> addressing except requested per -mno-strict-X? >> >> This bug (and it's fix) isn't related to this addressing problems. > > The addressing is/was connected to spill fails: -mstrict-X increased register > pressure so that there were spill fails if -fcaller-saves was turned on, too. > > So the question is: will -mstrict-X work together with -fcaller-saves without > raising spill fails in difficult reload situations?
Nothing changed in this area. -mstrict-X will rise spill fails in difficult reload situations. > > If -mstrict-X is "safe" in the way that it does not lead to spill fails > because > reload cannot cope with the few address registers, then we could turn on > -mstrict-X by default and get rid of fake addressing. Nothing changed in this area. The reload is a reload as is. > > The reason why -mstrict-X is not on per default was that the risk of spill > fails was estimated as too high (no problem of mstrict-X but of reload). Yes. I'm agree with you - no problem of mstrict-X but of reload. The fake addressing exists only because of this. Denis.