Annotation of researchv10dc/man/adm/man1/lcomp.1, revision 1.1.1.1

1.1       root        1: .TH LCOMP 1
                      2: .CT 1 debug_tune
                      3: .SH NAME
                      4: lcomp, lprint \(mi line-by-line profiler
                      5: .SH SYNOPSIS
                      6: .B lcomp
                      7: [
                      8: .I option ...
                      9: ]
                     10: .I file ...
                     11: .PP
                     12: .B lprint
                     13: [
                     14: .I option
                     15: ]
                     16: [
                     17: .I file ...
                     18: ]
                     19: .SH DESCRIPTION
                     20: .I Lcomp
                     21: is used in place of
                     22: .IR cc (1)
                     23: or
                     24: .IR f77 (1)
                     25: to insert instruction-counting code into programs.
                     26: It shares with those commands options
                     27: whose initial letters are taken from the string
                     28: .LR cwpDUIRdlNnz ,
                     29: and accepts files whose names end in
                     30: .BR .c ,
                     31: .BR .f ,
                     32: .BR .s ,
                     33: or
                     34: .BR .o .
                     35: From each source file it derives a 
                     36: .B .o
                     37: file and a
                     38: .B .sL
                     39: file which
                     40: .I lprint
                     41: uses to correlate source lines with basic blocks.
                     42: .PP
                     43: Option
                     44: .B -C
                     45: declares that
                     46: .B .c
                     47: files (and
                     48: .B .o
                     49: files, if no source files are named)
                     50: are C++ files.
                     51: If the
                     52: .B -c
                     53: option is not present
                     54: .I lcomp
                     55: creates
                     56: .FR a.out .
                     57: Each time
                     58: .F a.out
                     59: is run statistics are added
                     60: to a profiling file
                     61: .FR prof.out .
                     62: .PP
                     63: .I Lprint
                     64: produces on the standard output a listing (in the style of
                     65: .IR pr (1))
                     66: of the programs compiled by
                     67: .I lcomp.
                     68: Without arguments or files,
                     69: each line of the listing is preceded by the number of times it was executed,
                     70: as determined from the data in
                     71: .FR prof.out .
                     72: .I Lprint
                     73: interprets the following options.
                     74: .TP
                     75: .B -a
                     76: Detailed listing of every machine instruction and how often it was executed.
                     77: .TP
                     78: .B -b
                     79: How often each basic block was executed.
                     80: .TP
                     81: .B -c
                     82: Compress the
                     83: .F prof.out
                     84: file, which otherwise grows with every execution of
                     85: .LR a.out .
                     86: .TP
                     87: .B -f
                     88: Print summary information by function: instruction executions, number of
                     89: invocations, source instructions, and number of instructions never executed.
                     90: .TP
                     91: .B -i
                     92: Before each line of source print the number of machine instructions executed.
                     93: .TP
                     94: .B -p
                     95: Before each line of source print the number of times the first basic block
                     96: in that line was executed.
                     97: .TP
                     98: .B -s
                     99: Summarize the counts by source file: instruction executions, source
                    100: instructions, instructions never executed, basic block executions, total
                    101: number of source basic blocks, and how many were never executed.
                    102: .PP
                    103: If any file names are given, the options
                    104: .L abip
                    105: apply only to them.
                    106: If no options are given,
                    107: .B -p
                    108: is assumed.
                    109: Any combination of options is allowed.
                    110: .SH FILES
                    111: .TF /usr/lib/nexit.o   
                    112: .TP
                    113: .F prof.out
                    114: counts
                    115: .TP
                    116: .F *.sL
                    117: for correlating with source
                    118: .TP
                    119: .F /usr/lib/bb
                    120: for finding basic blocks and inserting counting code
                    121: .TP
                    122: .F /usr/lib/nexit.o
                    123: for printing counts when
                    124: .L a.out
                    125: exits
                    126: .SH "SEE ALSO"
                    127: .IR cc (1), 
                    128: .IR f77 (1),
                    129: .IR prof (1)
                    130: .SH BUGS
                    131: A line in the source file may be in zero, one, or more basic
                    132: blocks;
                    133: the count given in the listing corresponds to some particular
                    134: choice of the basic block to associate with the line.
                    135: .br
                    136: Processing the output of
                    137: .IR yacc (1)
                    138: without removing
                    139: .L #line
                    140: directives will produce unsatisfactory results.
                    141: .br
                    142: Option
                    143: .B -C
                    144: masks an option of
                    145: .IR cc (1).

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.