 |
» |
|
|
|
 |
 |
dcpivlst(1)
NAME
dcpivlst - A form of dcpilist that also shows value profile information
SYNOPSIS
dcpivlst [flags] [-p] [procedure-name] image-file
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 near-random 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
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.
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 1996-2004, Hewlett-Packard Company.
All rights reserved.
|
|