The input to SLO is a zip-file, ending with extension .slo.zip. This zip-file is created by instrumenting the program that you want to optimize using the GCC-SLO compiler with option -fslo-instrument
. During compilation a number of files are generated that describes the source locations of memory accesses, basic blocks, functions and their control flow graphs. After running the instrumented program, a file with name BRD
will be created. This file contains all recorded run-time reuse distance information. These files then need to be combined in a zip file. An overview of the different kinds of files in the .slo.zip file is given below:
The source code files contain the source code of your program, so that SLO can show suggestions in your source code.
For each compiled file source.c, the .slo.zip file contains a source.c.bb_info file. This file contains information generated by the GCC-SLO compiler about the source code locations of all the basic blocks in the program. The syntax of these files is described in Section 4.2, “Syntax of the .bb_info files”.
For each compiled file source.c, the .slo.zip file contains a source.c.function_info file. This file contains information generated by the GCC-SLO compiler about the functions in the source file, the basic blocks they contain and their control flow graphs. The syntax of these files is described in Section 4.3, “Syntax of the .function_info files”.
For each compiled file source.c, the .slo.zip file contains a source.c.memaccess_info file. This file contains information generated by the GCC-SLO compiler about the source locations of the memory references in the source file. The syntax of these files is described in Section 4.4, “Syntax of the .memaccess_info files”.
This file contains all reuse distance histogram information needed by SLO to compute the reuse distance histograms, associated refactorings and associated arrows. This BRD file is created by running the program that is instrumented by the GCC-SLO compiler. The syntax of this file is described in Section 4.1, “Syntax of the BRD file”.