On Fri, 14 Nov 2014, Radovan Obradovic wrote: > index eb37bfe..ddaf8e0 100644 > --- a/gcc/toplev.c > +++ b/gcc/toplev.c
> @@ -1605,6 +1612,11 @@ process_options (void) > /* Save the current optimization options. */ > optimization_default_node = build_optimization_node (&global_options); > optimization_current_node = optimization_default_node; > + > + /* Disable use caller save optimization if profiler is active or port > + does not emit prologue and epilogue as RTL. */ > + if (profile_flag || !HAVE_prologue || !HAVE_epilogue) > + flag_use_caller_save = 0; > } This seems wrong. Why disable caller-save regardless of profile_flag; is there some long-standing bug in caller-save for "old" targets? I guess you want: > + if (profile_flag && (!HAVE_prologue || !HAVE_epilogue)) Not that it matter too much, I don't think we care about such targets. I don't even bother to grep if there is any. :) brgds, H-P