"Chan, Sun C" wrote:
> > -----Original Message-----
> > From: Peng Zhao [mailto:pengzhao@xxxxxxxxxxxxxx]
> > Sent: Friday, April 06, 2001 8:40 PM
> > To: sgi
> > Subject: Question on function Recompute_Addr_Taken()
> >
> >
> > Hi,
> >
> > I have a question about the function
> > ipa/local/ipl_summarize_template.h -->Recompute_Addr_Taken(),
> > and Set_Addr_Taken_Attrib.
> >
> > There is some comments like
> > "// The preopt always set the
> > ST_addr_saved bit too conservatively. So we need to recompute them."
>
> Preopt operates on a per function level. Hence the "conservativeness".
> Address saved, I think means has address taken on the RHS of an expression
> and the LHS of the expression is a global, or local that will escape outside
> of the current function. Wilson, is that right?
You're right. IPA has the whole program context, and therefore always compute
more accurate information that preopt (which only sees one function at a time).
Furthermore, after IPA inlininig, IPA might introduce or remove new address
taking operations. That's why IPA recomputes it.
>
>
> >
> > // search for run-time address taken
> >
> > I don't know what do they mean and the contex. What is the meaning of
> > "run-time address taken"?
> >
Not sure! But there are some difference in handling taking address inside an
executable statement vs in the static initializer.
-Raymond
|