LLVM-OPT-REPORT(1) | LLVM | LLVM-OPT-REPORT(1) |
llvm-opt-report - generate optimization report from YAML
llvm-opt-report [options] [input]
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 running llvm-opt-report.
It provides information on the execution time, memory usage, and other details of each optimization pass.
$ 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 follows:
NOTE:
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.
llvm-opt-report returns 0 on success. Otherwise, an error message is printed to standard error, and the tool returns 1.
Maintained by the LLVM Team (https://llvm.org/).
2003-2024, LLVM Project
2024-12-05 | 15 |