> -----Original Message-----
> From: Peng Zhao [mailto:pengzhao@xxxxxxxxxxxxxx]
> Sent: Thursday, May 24, 2001 9:21 PM
> To: sgi
> Subject: several times of instrumentation? (sorry for the
> previous email
> without title)
>
>
>
> Hi,
>
> I noticed that Pro64 make several instrumentations during the
> backend phase (e.g. just before VHO, before LNO, before WOPT
> and cg etc).
> Is it because that transformation makes the annotation
> imprecise and we
> need to read the profiling result again? How to ensure the profiling
> result compatible with the transformed code?
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.
>
> 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?
> 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.
|