Developer Guide and Reference

Contents

Profmerge and Proforder Tools

Profmerge Tool

Use the profmerge tool to merge dynamic profile information (
.dyn
) files and any specified summary files (
.dpi
). The compiler executes profmerge automatically during the feedback compilation phase when you specify the
[Q]prof-use
option.
The command-line usage for profmerge is as follows:
Syntax
profmerge [-prof_dir dir_name]
The tool merges all
.dyn
files in the current directory, or the directory specified by
-prof_dir
, and produces a summary file:
pgopti.dpi
.
The spelling of tools options may differ slightly from compiler options. Tools options use an underscore (for example -prof_dir) instead of the hyphen used by compiler options (for example
[Q]prof-dir
) to join words. Also, on Windows* systems, the tool options are preceded by a hyphen ("-") unlike Windows* compiler options, which are preceded by a forward slash ("/").
You can use profmerge tool to merge .dyn files into a
.dpi
file without recompiling the application. You can run the instrumented executable file on multiple systems to generate
.dyn
files, and optionally use profmerge with the
-prof_dpi
option to name each summary
.dpi
file created from the multiple
.dyn
files.
Because the profmerge tool merges all the
.dyn
files that exist in the given directory, confirm that unrelated
.dyn
files are not present; otherwise, profile information will be based on invalid profile data, which can negatively impact the performance of optimized code.
Profmerge Options
The profmerge tool supports the following options:
Tool Option
Description
-dump
Displays profile information.
-help
Lists supported options.
-nologo
Disables version information. This option is supported on Windows* only.
-exclude_files
files
Excludes functions from the profile if the function comes from one of the listed files. The list items must be separated by a comma (","); you can use a period (".") as a wild card character in function names.
-exclude_funcs
functions
Excludes functions from the profile. The list items must be separated by a comma (","); you can use a period (".") as a wild card character in function names.
-prof_dir
dir
Specifies the directory from which to read
.dyn
and
.dpi
files, and write the
.dpi
file. Alternatively, you can set the environment variable
PROF_DIR
.
-prof_dpi
file
Specifies the name of the
.dpi
file being generated.
-prof_file
file
Merges information from file matching: dpi_file_and_dyn_tag.
-src_old
dir
-src_new
dir
Changes the directory path stored within the
.dpi
file.
-no_src_dir
Uses only the file name and not the directory name when reading dyn/dpi records. If you specify
-no_src_dir
, the directory name of the source file will be ignored when deciding which profile data records correspond to a specific application routine, and the
-src-root
option is ignored.
-src-root
dir
Specifies a directory path prefix for the root directory where the user's application files are stored. This option is ignored if you specify
-no_src_dir.
-a
file1.dpi
...
fileN.dpi
Specifies and merges available
.dpi
files.
-verbose
Instructs the tool to display full information during merge.
-weighted
Instructs the tool to apply an equal weighting (regardless of execution times) to the
.dyn
file values to normalize the data counts. This keyword is useful when the execution runs have different time durations and you want them to be treated equally.
-gen_weight_spec
file
Instructs the tool to generate a text file containing a list of the
.dyn
and
.dpi
file that were merged with default weight=1/run_count.
The text file is created in the directory specified by the
prof_dir
option.
-weight_spec
weight_spec.txt
Instructs the profmerge tool to generate and use the text file,
weight_spec.txt,
listing individual
.dyn
/
.dpi
files or directory names along with weight values for them.
When the
-weight_spec
option is used:
  • A new
    .dpi