[LLVMdev] Profiling in LLVM

Andreas Neustifter e0325716 at student.tuwien.ac.at
Tue Feb 24 03:10:36 PST 2009


Hi all,

I plan to improve the existing profiling support in LLVM for my master  
thesis. The goal is threefold:
a) Implement more efficient instrumentation along the lines of [Ball94].
b) Implement and experiment with heuristic estimators as proposed in  
[Wu94].
c) Make profile information available in the backend machinery. We  
have a preliminary patch that achieves this by maintaining profiles  
during instruction selection and CFG modifications. This might be  
useful for several backend passes such as register allocation or if- 
conversion.

We also plan to slightly modify the internal data structures in order  
to allow for more efficient lookups. If the implementation proofs to  
be useful and there is general interest in the community, I would like  
to contribute the patches back to the official repository. If you have  
any comments, experiences, or advice on that matter, I would be happy  
to hear them upfront.

Best Regards,

Andreas Neustifter
Vienna University of Technology

[Ball94] Thomas Ball, James R. Larus:
"Optimally profiling and tracing programs"
ACM TOPLAS, Volume 16, Issue 4, 1994
http://portal.acm.org/citation.cfm?id=183527

[Wu94] Youfeng Wu, James R. Larus:
Procedings of the 27th ACM International Symposium on  
Microarchitecture, 1994
http://portal.acm.org/citation.cfm?id=192724.192725



More information about the llvm-dev mailing list