man(1) Manual page archive


     LCOMP(1)                                                 LCOMP(1)

     NAME
          lcomp, lprint - line-by-line profiler

     SYNOPSIS
          lcomp [ option ... ] file ...

          lprint [ option ] [ file ... ]

     DESCRIPTION
          Lcomp is used in place of cc(1) or f77(1) to insert
          instruction-counting code into programs.  It shares with
          those commands options whose initial letters are taken from
          the string `cwpDUIRdlNnz', and accepts files whose names end
          in .c, .f, .s, or .o.  From each source file it derives a .o
          file and a .sL file which lprint uses to correlate source
          lines with basic blocks.

          Option -C declares that .c files (and .o files, if no source
          files are named) are C++ files.  If the -c option is not
          present lcomp creates Each time is run statistics are added
          to a profiling file

          Lprint produces on the standard output a listing (in the
          style of pr(1)) of the programs compiled by lcomp. Without
          arguments or files, each line of the listing is preceded by
          the number of times it was executed, as determined from the
          data in Lprint interprets the following options.

          -a   Detailed listing of every machine instruction and how
               often it was executed.

          -b   How often each basic block was executed.

          -c   Compress the file, which otherwise grows with every
               execution of `a.out'.

          -f   Print summary information by function: instruction exe-
               cutions, number of invocations, source instructions,
               and number of instructions never executed.

          -i   Before each line of source print the number of machine
               instructions executed.

          -p   Before each line of source print the number of times
               the first basic block in that line was executed.

          -s   Summarize the counts by source file: instruction execu-
               tions, source instructions, instructions never exe-
               cuted, basic block executions, total number of source
               basic blocks, and how many were never executed.

     LCOMP(1)                                                 LCOMP(1)

          If any file names are given, the options `abip' apply only
          to them.  If no options are given, -p is assumed.  Any com-
          bination of options is allowed.

     FILES
          counts
          for correlating with source
          for finding basic blocks and inserting counting code
          for printing counts when
                                `a.out' exits

     SEE ALSO
          cc(1), f77(1), prof(1)

     BUGS
          A line in the source file may be in zero, one, or more basic
          blocks; the count given in the listing corresponds to some
          particular choice of the basic block to associate with the
          line.
          Processing the output of yacc(1) without removing `#line'
          directives will produce unsatisfactory results.
          Option -C masks an option of cc(1).