On Wed, Apr 16, 2014 at 11:46:14AM +0200, Tom de Vries wrote: > >...why do we need two different mechanisms to deal with these two? > >IMO the set recorded for the callee should contain what the callee > >instructions clobber and nothing else. CALL_INSN_FUNCTION_USAGE > >should contain everything clobbered by a call outside the callee, > >whether that's in the calling function itself, in a PLT, in a MIPS16 > >stub, or whatever.
Always putting all call clobbered registers to C_I_F_U explicitly can be a serious memory hog on some architectures, e.g. doesn't ia64 have ~ 160 call clobbered hard registers, times number of calls in a function (sometimes tens of thousands)? Jakub