pro64-support
[Top] [All Lists]

Re: Question on function Recompute_Addr_Taken()

To: "Chan, Sun C" <sun.c.chan@xxxxxxxxx>
Subject: Re: Question on function Recompute_Addr_Taken()
From: Raymond Lo <lo@xxxxxxxxxxxxx>
Date: Mon, 09 Apr 2001 09:40:37 -0700
Cc: "'Peng Zhao'" <pengzhao@xxxxxxxxxxxxxx>, sgi <pro64-support@xxxxxxxxxxx>, "'ho@xxxxxxxxxxxxx'" <ho@xxxxxxxxxxxxx>
Organization: RouteFree Inc.
References: <9287DC1579B0D411AA2F009027F44C3F042DFA26@FMSMSX41>
Sender: owner-pro64-support@xxxxxxxxxxx
"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


<Prev in Thread] Current Thread [Next in Thread>