> -----Original Message-----
> From: Peng Zhao [mailto:pengzhao@xxxxxxxxxxxxxx]
> Sent: Tuesday, May 29, 2001 1:06 PM
> To: Chan, Sun C
> Cc: sgi
> ...
> > In fact, the correct phrase should be Pro64 "can" instrument
> > during the phases you mentioned (not cg though). In
> reality, it does
> > that before VHO. The design is so that you can do it in any phase.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> So, there are still possibilities that the feedback
> information is read in the later phase than VHO. Am I right? Does this
> implies that the instrumentation conducted in the first
> compilation must
> happen at the same phase of the annotation in the second compilation?
Yes to both questions.
> And the instrumentation or annotation can only take place
> once during the
> compilation, although Pro64 can do it in several phases. Right?
Yes
>
> You mean that the instrumentation or annotation is only
> conducted
> before VHO even when various optimization flags are switched
> on(i.e. other calls in later phases to annotation are never invoked)?
As far as I know, that's case.
>
>
> >
> > >
> > > E.g, I want to do partial inlinining in the backend
> > > phase. And my
> > > initial plan of doing it is just after the first annotation
> > > (there still
> > > needs some more investigation for the feasibility, of course your
> > > suggestions are quite welcomed). After the partial
> >
> > You meant during IPA?
>
> No. in the VHO phase ( just before the lowering from VH whirl to H
> whirl). It is after the annotation.
If you do this right after VHO, you are losing the benefit of Preopt
which in general is designed to normalize/cleanup a lot of code hence one
can make a better inlining decision among other benefits.
The reason I asked if you are doing partial inlining during IPA is that
inlining is done at IPA time. If you have a partial inlining phase after
VHO, how does that interact with the inlining part of IPA? Also, things
like const. prop in IPA helps cleaning up code for better inlining/partial
inlining decisions. Incidentally, Preopt is ran before IPA.
>
> >
> > > inlining, the caller and callee change definitely. Is there
> > > any problem
> > > that later annotation?
> >
> > The question is how you update the info after partial
> inlining. Since its
> > a form of cloning, you need to make some guestimation. The
> feedback is
> > designed for being able to verify before and after each
> optimization and
> > assert that the information is still "consistent". The
> update heuristic
> > is strictly up to the optimization phase since each has its
> own peculiar
> > requirement and hence different ways to deal with it. Pro64 can also
> > do some minor patching when annotation is inconsistent.
> When it cannot
> > patch,
> > it will invalidate a portion of the information.
> > > I guess the problem exists for other optimizations.In
> current Pro64,
> > > how the similar problems are addressed?
> > >
> > > Thanks.
> >
> >
>
> --
> Regards
>
> Peng
> Peng Zhao pengzhao@xxxxxxxxxxxxxx
> http://www.cs.ualberta.ca/~pengzhao
> TEL (Lab): (780)492-3725 Lab: CSC251
>
>
>
|