84 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" $Id$
 | 
						|
.TH BPRINT 1 "local \- $Date$"
 | 
						|
.SH NAME
 | 
						|
bprint \- expression profiler
 | 
						|
.SH SYNOPSIS
 | 
						|
.B bprint
 | 
						|
[
 | 
						|
.I option ...
 | 
						|
]
 | 
						|
[
 | 
						|
.I file ...
 | 
						|
]
 | 
						|
.SH DESCRIPTION
 | 
						|
.I bprint
 | 
						|
produces on the standard output a listing of the programs compiled by
 | 
						|
.I lcc
 | 
						|
with the
 | 
						|
.B \-b
 | 
						|
option.
 | 
						|
Executing an
 | 
						|
.B a.out
 | 
						|
so compiled appends profiling data to
 | 
						|
.BR prof.out .
 | 
						|
The first token of each expression in the listing is preceded
 | 
						|
by the number of times it was executed
 | 
						|
enclosed in angle brackets as determined from the data in
 | 
						|
.BR prof.out .
 | 
						|
.I bprint
 | 
						|
interprets the following options.
 | 
						|
.TP
 | 
						|
.B \-c
 | 
						|
Compress the
 | 
						|
.B prof.out
 | 
						|
file, which otherwise grows with every execution of
 | 
						|
.BR a.out .
 | 
						|
.TP
 | 
						|
.B \-b
 | 
						|
Print an annotated listing as described above.
 | 
						|
.TP
 | 
						|
.B \-n
 | 
						|
Include line numbers in the listing.
 | 
						|
.TP
 | 
						|
.B \-f
 | 
						|
Print only the number of invocations of each function.
 | 
						|
A second
 | 
						|
.B \-f
 | 
						|
summarizes call sites instead of callers.
 | 
						|
.TP
 | 
						|
.BI \-I \*Sdir
 | 
						|
specifies additional directories in which to seek
 | 
						|
files given in
 | 
						|
.B prof.out
 | 
						|
that do not begin with `/'.
 | 
						|
.PP
 | 
						|
If any file names are given, only the requested data for those files are printed
 | 
						|
in the order presented.
 | 
						|
If no options are given,
 | 
						|
.B \-b
 | 
						|
is assumed.
 | 
						|
.SH FILES
 | 
						|
.PP
 | 
						|
.ta \w'$LCCDIR/liblcc.{a,lib}XX'u
 | 
						|
.nf
 | 
						|
prof.out	profiling data
 | 
						|
$LCCDIR/liblcc.{a,lib}	\fIlcc\fP-specific library
 | 
						|
.SH "SEE ALSO"
 | 
						|
.IR lcc (1), 
 | 
						|
.IR prof (1)
 | 
						|
.SH BUGS
 | 
						|
Macros and comments can confuse
 | 
						|
.I bprint
 | 
						|
because it uses post-expansion source coordinates
 | 
						|
to annotate pre-expansion source files.
 | 
						|
If
 | 
						|
.I bprint
 | 
						|
sees that it's about to print a statement count
 | 
						|
.I inside
 | 
						|
a number or identifier, it moves the count to just
 | 
						|
.I before
 | 
						|
the token.
 | 
						|
.PP
 | 
						|
Can't cope with an ill-formed
 | 
						|
.BR prof.out .
 |