'statprof' - annotates Control Flow Graph with edge profile using static code analysis heuristics.
Many optimizations can use the edge profile information for greater efficiency.
When the Execution Manager is configured to use a dynamic profiling mode, the profile is collected by the JIT using edge_instrument and applied to graph with edge_annotate passes.
When dynamic profile is not available, Jitrino.OPT can use the 'statprof' pass to update HIR with a profile based on heuristics.
Another use case for 'statprof' transformation is a fixing of dynamic profile information if one of optimizations breaks profile information by changing CFG structure. In this case, 'statprof' can be used to fix the profile information and keep it consistent.
header file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.h
implementation file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp