dcpivlst - A form of dcpilist that also shows value profile
dcpivlst [flags] [-p] [procedure-name] image-file
Dcpivlst is a version of
dcpilist(1) which was modified to display value profiling information.
Note that dcpilist can now also show value profiling information;
and it should usually be used instead of dcpivlst.
The value profile information printed per instruction by dcpivlst
- How many value samples were collected.
- For each value sample collected, the probability of it being added to
the value profile data.
- How many distinct values there are in the value profile data.
- Each distinct value, and the number of times it was added to the value
cycles cpi vtot thld nv
0 0x120001160 ldah gp, 8192(t12) 0 0.0 0
15693 1.0cy 0x120001198 cmpeq v0, 0x1, v0 142 1.0 2 v0: (88.0% 0x0) .
173339 10.8cy 0x120001190 mull t1, 0xa, t3 1554 126.9 15 t3: (51.1% 0x58a3de2) ...
An example of dcpivlst output is shown above. The column vtot
shows collected value samples, the thld column gives the reciprocal
probability of adding samples to the profile, and the nv column
shows the number of distinct values in the profile. The end of each line
shows the name of the register sampled, and the profile data values for that
register, as (P V) pairs, where V is a value and P
is the percentage of total samples this value accounts for. The list of
(P V) pairs is sorted by P, so values accounting for most
total value samples come first. Some pairs may be printed as dots; this, and
the number of pairs shown, is controlled by the -vcutoff and -vshow
flags described above.
Dcpivlst supports many of the same options as
dcpilist(1) as well as these below. Note that, like dcpilist,
-asm -vprof are necessary to see value profiling information.
- List all procedures in the image.
- List value profile information.
- Report counts (and derived percentages) of value profiles
based on concise samples rather than counting
samples. Concise samples more truly represent a
uniformly random sampling of the distribution, but the
percentage estimates are often less accurate, especially for
random or near-random distributions.
- -vcutoff P
- Only list profile data values that were
seen in more than P percent of the
total value samples.
- Only list
in full the
for the most
if it is
- Do not
- After every instruction, list registers used in that instruction for which values are known. For each register, print the address of the instruction where values were captured for that register. The set of registers whose values are known at an instruction, and the instructions where their values are captured are determined by dataflow analysis. There can be more than one set of values visible for a register at each instruction. Below is sample output, showing for register t1 two addresses where value profile data is available.
cycles vtot thld nv
25459 976 1.0 2 0x1200011f0 stl t1, 0(t2) t1: (90.1% 0x7) .
- After every instruction, list registers used in that instruction and a computed set of their probable values, if possible. The set of probable values is computed using the same dataflow analysis results as in -vregaddr. Below is sample output showing probable values for registers t1 and t2. Note that the t1 estimate has the correct value, but the percentage is only correct in the high-order bit.
cycles vtot thld nv
25459 0x1200011f0 stl t1, 0(t2) 976 1.0 2 t1: (90.1% 0x7) .
t1: (60.5% 0x7) .
t2: (100.0% 0x140000170)
- -vcontext [@xA]
- List the return address context information along with each value. Use the option -vcontext_ra to show the context value from the ra register, and -vcontext_sp0 to show the context value from the top of the stack, sp(0). Below is sample output.
cycles vtot thld nv
25459 0x1200011f0 stl t1, 0(t2) 976 1.0 2 t1: (90.1% 0x7 @x120018ca4) .
The optional argument @xA specifies an address A (in hexadecimal) for which dcpivlst will show a projected value profile. The projected value profile is constructed by removing all value samples whose context is not A.
Note that if dcpivlst is used to display value profiles
collected with context information, but the vcontext is not
given, the value profiles displayed will also be projections of the
actual data, with the context information ignored.
For more information, see the DCPI project home page
Hewlett-Packard Company. All rights reserved.