Thanks I will check this.
DF Dump in RTL file does not list Artificial defs - which is what I think I need. However, I do note that all potential parameter registers (including those unused) - are listed as invalidated by call. - which means 1 (or more) defs. So like you suggest I just need to find count. Andy Seongbae Park (박성배, 朴成培) wrote: > You can use DF_REG_DEF_COUNT() - if this is indeed a parameter register, > there should be only one def (artificial def) or no def at all. > Or if you want to see all defs for the reg, > follow DF_REG_DEF_CHAIN(). > > Seongbae > > On Wed, Feb 27, 2008 at 6:03 PM, Andrew Hutchinson > <[EMAIL PROTECTED]> wrote: > >> Register contains parameter that is passed to function. This register >> is not part of call used set. >> >> If this type of register were modified by function, then it would be >> saved by function. >> >> If this register is not modified by function, it should not be saved. >> This is true even if function is not a leaf function (as same register >> would be preserved by deeper calls) >> >> >> Andy >> >> >> >> >> >> Seongbae Park (박성배, 朴成培) wrote: >> > On Wed, Feb 27, 2008 at 5:16 PM, Andrew Hutchinson >> > <[EMAIL PROTECTED]> wrote: >> > >> >> Register saves by prolog (pushes) are typically made with reference to >> >> "df_regs_ever_live_p()" or "regs_ever_live. "|| >> >> >> >> If my understanding is correct, these calls reflect register USEs and >> >> not register DEFs. So if register is used in a function, but not >> >> otherwise changed, it will get pushed unnecessarily on stack by prolog. >> >> >> > >> > This implies that the register is either a global register >> > or a parameter register, in either case it won't be saved/restored >> > as callee save. >> > What kind of a register is it and how com there's only use of it in a >> function >> > but it's not a global ? >> > >> > Seongbae >> > >> > >> >> > > > >