On Tue, Apr 23, 2013 at 1:51 PM, Sriraman Tallam <tmsri...@google.com> wrote: > Hi, > > This patch brings the following to the linker function reordering plugin > present in gcc-4_7 > > * Node profiles: Callgraph node profiles from the compiler are passed to the > linker plugin. The node profiles are passed as bb entry count and max count > of the corresponding function. The entry count of the split cold function is > also passed when present.
Actually, it is the max bb count of the split cold function. > > * With this patch, the plugin will sorts all sections that are not grouped by > the plugin's callgraph according to their node weights. > > * New flags to the plugin to control the following: > > a) sort_name_prefix=<yes|no>: This is off by default. When this is on, the > plugin groups sections by their section name prefix. > b) use_maxcount=<yes|no>: This is on by default. This uses the max of > max_count and the node weights as the actual node weight of a function. When > this is off, the entry count is used as the node weight. > c) edge_cutoff=<a|p><value>: This can used to prune away cold callgraph > edges from the linker plugin constructed callgraph. It can be expressed as > a percent of the max edge value, ex: p25 for 25% or an absolute value, > ex: a15000. The default is to consider all edges to be in the callgraph. > d) unlikely_segment_cutoff=<value>: This decides the profile threshold below > which functions should be considered unlikely. The default is zero. This is > useful when splitting unlikely functions into a separate ELF segment using the > gold linker. > > Handling split cold functions in the plugin will be done as a follow-up patch. > > Teresa, could you please review? Started looking at the patch - could you upload it it make it easier for me to add comments? Thanks, Teresa > > Thanks > Sri -- Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413