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 > > > > > -- #pragma ident "Seongbae Park, compiler, http://seongbae.blogspot.com"