Annotation of researchv10no/cmd/lcomp/lcomp.1, revision 1.1.1.1

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