This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Inserting profiling function calls


> 
> >Would you for a start please
> >explain what do you need to do that can't be done using existing arc and
> >value profiling?
> >  
> Sorry, my first mail was not clear about the goal.
> Objectives are to follow the execution of function and basic block at 
> execution time.
> To do this, we plan to insert function call, like mcount is inserted
> at the function level for gprof but at the basic block level.
> A user library linked with the application can then implement this 
> functions.

Hi,
interesting, I guess you want to generate some sort of traces through
programs or path profiles. This is definitly doable and I think best
place to do so would be same time as value range profiling is done (that
is also inserting calls but for different reasons, so you probably might
want to look into it). Ironically, we used to have such basic block
profiling but the implementation was removed in favour of edge profiling
years ago be me (the implementation however was broken and would need to
be reimplemented anyway).
It would be interesting to get infrastructure for path profiling
as described in Ball&Larus paper
http://citeseer.ist.psu.edu/ball96efficient.html
that is what some compilers implement. I din't get across implementing
it since I don't see much of use for in in optimization (however if you
look at the followup papers, there are some code duplication based ideas
that might prove to be effective)

Honza
> 
> Thank you,
> Patrice
> 
> 	
> 
> 	
> 		
> ___________________________________________________________________________ 
> Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son 
> interface révolutionnaire.
> http://fr.mail.yahoo.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]