
» 





dcpivlst(1)
NAME
dcpivlst  A form of dcpilist that also shows value profile
information
SYNOPSIS
dcpivlst [flags] [p] [procedurename] imagefile
dcpivlst V
DESCRIPTION
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
is:
 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
profile data.
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.
FLAGS
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.
 allprocs
 List all procedures in the image.
 vprof
 List value profile information.
 vconcise
 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 nearrandom distributions.
 vcutoff P
 Only list profile data values that were
seen in more than P percent of the
total value samples.
 vshow
N
 Only list
in full the
N value
profile data
values
accounting
for the most
value
samples.
Other
profile data
values, that
pass the
vcutoff,
if it is
set, are
shown as
dots.
 vtotcut
S
 Do not
output value
profiles if
they are
based on
S or
fewer value
samples.
 vregaddr
 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) .
t1: 0x120001160
t1: 0x1200011e8
t2: 0x1200011ec
 vregvals
 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 highorder 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.
SEE ALSO
dcpi(1),
dcpi2bb(1), dcpi2pix(1),
dcpi2ps(1), dcpicalc(1),
dcpicat(1), dcpicc(1),
dcpicoverage(1), dcpictl(1),
dcpid(1), dcpidiff(1),
dcpidis(1), dcpiepoch(1),
dcpiflow(1), dcpiflush(1),
dcpikdiff(1), dcpilabel(1),
dcpildlatency(1), dcpilist(1),
dcpiprof(1), dcpiprofileme(1),
dcpiquit(1), dcpiscan(1),
dcpisource(1), dcpistats(1),
dcpisumxct(1), dcpitar(1),
dcpitopcounts(1),
dcpitopstalls(1),
dcpiuninstall(1), dcpiupcalls(1),
dcpivarg(1), dcpivcat(1),
dcpiversion(1),
dcpivprofiler(1), dcpiwhatcg(1),
dcpix(1), dcpiformat(4),
dcpiexclusions(4)
For more information, see the DCPI project home page
http://h30097.www3.hp.com/dcpi.
COPYRIGHT
Copyright 19962004,
HewlettPackard Company. All rights reserved.

