[LLVMdev] Static Profiling - GSoC 2009
Dietmar Ebner
ebner at complang.tuwien.ac.at
Thu Apr 2 01:34:05 PDT 2009
hi,
On 3/31/09 5:12 PM, Andrei Alvares wrote:
> The proposal is to implement the static branch predictor described
> by Wu et al. (1994) as a LLVM Function Pass.
I'm advising a talented master student (Andreas Neustifter) at the
Vienna University of Technology who's already doing the same thing. The
rough goal of his work is to
a) cleanup the internal datastructures (currently it's basically a
global map)
b) implement the same algorithm you're proposing for static branch
prediction
c) use the algorithm from b) in combination with the spanning tree
algorithm proposed in [Ball94] to reduce the overhead for precise
instrumentation
d) utilize profile information in various optimization passes (see below)
he's already posted a rough plan for his endeavors to this mailing list
before:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-February/020396.html
> I would
> be happy to hear which of the LLVM analysis you guys think is the
> nicest candidate to be improved with static profiling.
There are certainly some opportunities for "high-level" optimizations,
e.g., inlining, code layout or unrolling. However, we've been more
interested in backend optimizations such as spilling and scheduling. I
have a working patch that maintains profile information during the
various codegen phases. Andreas will clean this up and contribute it
together with his work if there is interest.
There's nothing wrong with two people working on similar things, but I
highly suggest the two of you get together in order to avoid duplicated
efforts. There is certainly plenty of work left for both of you :-)
Andreas already started with the implementation, so you wouldn't have to
start from scratch.
-
Dietmar
[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
---------------------------------------------------------------------
Dietmar Ebner
CD Laboratory - Compilation Techniques for Embedded Processors
Institut fuer Computersprachen E: ebner at complang.tuwien.ac.at
Technische Universitaet Wien T: (+431) 58801-58521
Argentinierstrasse 8 / E1851 F: (+431) 58801-18598
1040 Wien, Austria W: www.complang.tuwien.ac.at/cd/ebner
More information about the llvm-dev
mailing list