Quick start documentation for the header file utilities.
-This isn't a full breakdown of the tools, just they typical use scenarios.
+This isn't a full breakdown of the tools, just the typical use scenarios.
-- Each tool accepts -h to show it's usage. Usually no parameters will also
+- Each tool accepts -h to show its usage. Usually no parameters will also
trigger the help message. Help may specify additional functionality to what is
listed here.
command line.
Any files which are changed are output, and the original is saved with a
- .bak extention.
+ .bak extension.
ex.: gcc-order-headers tree-ssa.cc c/c-decl.cc
show which of those headers include other headers, just the final canonical
ordering.
- if any header files are included within a conditional code block, the tool
+ If any header files are included within a conditional code block, the tool
will issue a message and not change the file. When this happens, you can
manually inspect the file to determine if reordering it is actually OK. Then
rerun the command with the -i option. This will ignore the conditional error
a native build and sometimes target builds, depending on what you are trying
to reduce.
- it is good practice to run 'gcc-order-headers' on a source file before trying
+ It is good practice to run 'gcc-order-headers' on a source file before trying
to reduce it. This removes duplicates and performs some simplifications
which reduce the chances of the reduction tool missing things.
- start with a completely bootstrapped native compiler.
+ Start with a completely bootstrapped native compiler.
Any desired target builds should be built in one directory using a modified
config-list.mk file which does not delete the build directory when it is done.
A small subset of targets has been determined to provide excellent coverage,
at least as of Aug 31/15 . They were found by reducing all the files
- contained in libbackend.a oer a full set of targets(207). All conditions
+ contained in libbackend.a over a full set of targets(207). All conditions
which disallowed removal of a header file were triggered by one or more of
these targets. They are also known to the tool. When building targets it
will check those targets before the rest.
# This will attempt to remove all header files from tree-ssa-live.cc
- the tool will generate a number of log files:
+ The tool will generate a number of log files:
reduce-headers.log : All compilation failures from attempted reductions.
reduce-headers.sum : One line summary of what happened to each source file.
reduce-headers-kept.log: List of all the successful compiles that were
ignored because of conditional macro dependencies
- and why it thinks that is the case
- $src.c.log : for each failed header removal, the compilation
+ and why it thinks that is the case.
+ $src.c.log : For each failed header removal, the compilation
messages as to why it failed.
$header.h.log: The same log is put into the relevant header log as well.
-a sample output from ira.cc.log:
+A sample output from ira.cc.log:
Compilation failed:
for shrink-wrap.h:
make: *** [ira.o] Error 1
-the same message would be put into shrink-wrap.h.log.
+The same message would be put into shrink-wrap.h.log.