dwww Home | Manual pages | Find package

LLVM-OPT-REPORT(1)                   LLVM                   LLVM-OPT-REPORT(1)

NAME
       llvm-opt-report - generate optimization report from YAML

SYNOPSIS
       llvm-opt-report [options] [input]

DESCRIPTION
       llvm-opt-report  is a tool to generate an optimization report from YAML
       optimization record files.

       You need to create an input YAML optimization record file  before  run-
       ning llvm-opt-report.

          $ clang -c foo.c -o foo.o -O3 -fsave-optimization-record

       Then,  you  create  a report using the llvm-opt-report command with the
       YAML optimization record file foo.opt.yaml as input.

          $ llvm-opt-report foo.opt.yaml -o foo.lst

       foo.lst is the generated optimization report.

          < foo.c
           1          | void bar();
           2          | void foo() { bar(); }
           3          |
           4          | void Test(int *res, int *c, int *d, int *p, int n) {
           5          |   int i;
           6          |
           7          | #pragma clang loop vectorize(assume_safety)
           8     V4,1 |   for (i = 0; i < 1600; i++) {
           9          |     res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];
          10          |   }
          11          |
          12  U16     |   for (i = 0; i < 16; i++) {
          13          |     res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];
          14          |   }
          15          |
          16 I        |   foo();
          17          |
          18          |   foo(); bar(); foo();
             I        |   ^
             I        |                 ^
          19          | }
          20          |

       Symbols printed on the left side of the program indicate what  kind  of
       optimization  was  performed.   The meanings of the symbols are as fol-
       lows:

       • I: The function is inlined.

       • U: The loop is unrolled. The following number  indicates  the  unroll
         factor.

       • V:  The loop is vectorized. The following numbers indicate the vector
         length and the interleave factor.

OPTIONS
       If input is “-” or omitted, llvm-opt-report reads from standard  input.
       Otherwise, it will read from the specified filename.

       If  the -o option is omitted, then llvm-opt-report will send its output
       to standard output.  If the -o option specifies “-”,  then  the  output
       will also be sent to standard output.

       --help Display available options.

       --version
              Display the version of this program.

       --format=<string>
              The format of the optimization record file.  The Argument is one
              of the following:

              • yaml

              • yaml-strtab

              • bitstream

       --no-demangle
              Do not demangle function names.

       -o=<string>
              Output file.

       -r=<string>
              Root for relative input paths.

       -s     Do not include vectorization factors, etc.

EXIT STATUS
       llvm-opt-report returns 0 on success. Otherwise, an  error  message  is
       printed to standard error, and the tool returns 1.

AUTHOR
       Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT
       2003-2023, LLVM Project

15                                2023-10-16                LLVM-OPT-REPORT(1)

Generated by dwww version 1.15 on Sun Jun 23 10:01:12 CEST 2024.