.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. .TH SANCOV "1" "March 2018" "sancov 6.0" "User Commands" .SH NAME sancov \- manual page for sancov 6.0 .SH DESCRIPTION OVERVIEW: Sanitizer Coverage Processing Tool (sancov) .IP This tool can extract various coverage\-related information from: coverage\-instrumented binary files, raw .sancov files and their symbolized .symcov version. Depending on chosen action the tool expects different input files: .HP \fB\-print\-coverage\-pcs\fR \- coverage\-instrumented binary files .HP \fB\-print\-coverage\fR \- .sancov files .TP \- .sancov files & corresponding binary files, .symcov files .PP USAGE: sancov [options] <.sancov files...> <.symcov files...> .PP OPTIONS: .PP General options: .HP \fB\-aarch64\-neon\-syntax\fR \- Choose style of NEON code to emit from AArch64 backend: .TP =generic \- Emit generic NEON assembly .TP =apple \- Emit Apple\-style NEON assembly .HP \fB\-amdgpu\-dump\-hsa\-metadata\fR \- Dump AMDGPU HSA Metadata .HP \fB\-amdgpu\-enable\-merge\-m0\fR \- Merge and hoist M0 initializations .HP \fB\-amdgpu\-sdwa\-peephole\fR \- Enable SDWA peepholer .HP \fB\-amdgpu\-spill\-sgpr\-to\-smem\fR \- Use scalar stores to spill SGPRs if supported by subtarget .HP \fB\-amdgpu\-verify\-hsa\-metadata\fR \- Verify AMDGPU HSA Metadata .HP \fB\-amdgpu\-vgpr\-index\-mode\fR \- Use GPR indexing mode instead of movrel for vector indexing .HP \fB\-arm\-add\-build\-attributes\fR \- .HP \fB\-arm\-implicit\-it\fR \- Allow conditional instructions outdside of an IT block .TP =always \- Accept in both ISAs, emit implicit ITs in Thumb .TP =never \- Warn in ARM, reject in Thumb .TP =arm \- Accept in ARM, reject in Thumb .TP =thumb \- Warn in ARM, emit implicit ITs in Thumb .TP \fB\-atomic\-counter\-update\-promoted\fR \- Do counter update using atomic fetch add for promoted counters only .HP \fB\-blacklist=\fR \- Blacklist file (sanitizer blacklist format). .HP \fB\-bounds\-checking\-single\-trap\fR \- Use one trap block per function .HP \fB\-color\fR \- use colored syntax highlighting (default=autodetect) .HP \fB\-cost\-kind\fR \- Target cost kind .TP =throughput \- Reciprocal throughput .TP =latency \- Instruction latency .TP =code\-size \- Code size .HP \fB\-cvp\-dont\-process\-adds\fR \- .HP \fB\-debug\-counter\fR \- Comma separated list of debug counter skip and count .TP =predicateinfo\-rename \- Controls which variables are renamed with predicateinfo .TP =instcombine\-visit \- Controls which instructions are visited .TP =newgvn\-vn \- Controls which instructions are value numbered .TP =newgvn\-phi \- Controls which instructions we create phi of ops for .HP \fB\-demangle\fR \- Print demangled function name. .HP \fB\-do\-counter\-promotion\fR \- Do counter register promotion .HP \fB\-enable\-load\-pre\fR \- .HP \fB\-enable\-name\-compression\fR \- Enable name string compression .HP \fB\-enable\-packed\-inlinable\-literals\fR \- Enable packed inlinable literals (v2f16, v2i16) .HP \fB\-enable\-si\-insert\-waitcnts\fR \- Use new waitcnt insertion pass .HP \fB\-expensive\-combines\fR \- Enable expensive instruction combines .TP \fB\-gpsize=\fR \- Global Pointer Addressing Size. The default size is 8. .HP \fB\-hash\-based\-counter\-split\fR \- Rename counter variable of a comdat function based on cfg hash .HP \fB\-import\-all\-index\fR \- Import all external functions in index. .HP \fB\-instcombine\-maxarray\-size=\fR \- Maximum array size considered when doing a combine .HP \fB\-internalize\-public\-api\-file=\fR \- A file containing list of symbol names to preserve .HP \fB\-internalize\-public\-api\-list=\fR \- A list of symbol names to preserve .HP \fB\-iterative\-counter\-promotion\fR \- Allow counter promotion across the whole loop nest. .HP \fB\-lto\-pass\-remarks\-output=\fR \- Output filename for pass remarks .HP \fB\-max\-counter\-promotions=\fR \- Max number of allowed counter promotions .HP \fB\-max\-counter\-promotions\-per\-loop=\fR \- Max number counter promotions per loop to avoid increasing register pressure too much .HP \fB\-memop\-size\-large=\fR \- Set large value thresthold in memory intrinsic size profiling. Value of 0 disables the large value profiling. .HP \fB\-memop\-size\-range=\fR \- Set the range of size in memory intrinsic calls to be profiled precisely, in a format of : .HP \fB\-merror\-missing\-parenthesis\fR \- Error for missing parenthesis around predicate registers .HP \fB\-merror\-noncontigious\-register\fR \- Error for register names that aren't contigious .HP \fB\-mhvx\fR \- Enable Hexagon Vector eXtensions .TP =v60 \- Build for HVX v60 .TP =v62 \- Build for HVX v62 .TP =v65 \- Build for HVX v65 .TP = \- .HP \fB\-mips\-compact\-branches\fR \- MIPS Specific: Compact branch policy. .TP =never \- Do not use compact branches if possible. .TP =optimal \- Use compact branches where appropiate (default). .TP =always \- Always use compact branches if possible. .HP \fB\-mips16\-constant\-islands\fR \- Enable mips16 constant islands. .HP \fB\-mips16\-hard\-float\fR \- Enable mips16 hard float. .HP \fB\-mno\-compound\fR \- Disable looking for compound instructions for Hexagon .HP \fB\-mno\-fixup\fR \- Disable fixing up resolved relocations for Hexagon .HP \fB\-mno\-ldc1\-sdc1\fR \- Expand double precision loads and stores to their single precision counterparts .HP \fB\-mno\-pairing\fR \- Disable looking for duplex instructions for Hexagon .HP \fB\-mwarn\-missing\-parenthesis\fR \- Warn for missing parenthesis around predicate registers .HP \fB\-mwarn\-noncontigious\-register\fR \- Warn for register names that arent contigious .HP \fB\-mwarn\-sign\-mismatch\fR \- Warn for mismatching a signed and unsigned value .HP \fB\-no\-discriminators\fR \- Disable generation of discriminator information. .HP \fB\-nvptx\-sched4reg\fR \- NVPTX Specific: schedule for register pressue .IP Action (required) .HP \fB\-print\fR \- Print coverage addresses .HP \fB\-print\-coverage\-pcs\fR \- Print coverage instrumentation points addresses. .HP \fB\-covered\-functions\fR \- Print all covered funcions. .HP \fB\-not\-covered\-functions\fR \- Print all not covered funcions. .HP \fB\-print\-coverage\-stats\fR \- Print coverage statistics. .HP \fB\-html\-report\fR \- REMOVED. Use \fB\-symbolize\fR & coverage\-report\-server.py. .HP \fB\-symbolize\fR \- Produces a symbolized JSON report from binary report. .HP \fB\-merge\fR \- Merges reports. .HP \fB\-print\-module\-scope\fR \- When printing IR for print\-[before|after]{\-all} always print a module IR .HP \fB\-r600\-ir\-structurize\fR \- Use StructurizeCFG IR pass .HP \fB\-rdf\-dump\fR \- .HP \fB\-rdf\-limit=\fR \- .HP \fB\-safepoint\-ir\-verifier\-print\-only\fR \- .HP \fB\-sample\-profile\-check\-record\-coverage=\fR \- Emit a warning if less than N% of records in the input profile are matched to the IR. .HP \fB\-sample\-profile\-check\-sample\-coverage=\fR \- Emit a warning if less than N% of samples in the input profile are matched to the IR. .HP \fB\-sample\-profile\-inline\-hot\-threshold=\fR \- Inlined functions that account for more than N% of all samples collected in the parent function, will be inlined again. .HP \fB\-sample\-profile\-max\-propagate\-iterations=\fR \- Maximum number of iterations to go through when propagating sample block/edge weights through the CFG. .HP \fB\-skip\-dead\-files\fR \- Do not list dead source files in reports. .TP \fB\-speculative\-counter\-promotion\-max\-exiting=\fR \- The max number of exiting blocks of a loop to allow speculative counter promotion .TP \fB\-speculative\-counter\-promotion\-to\-loop\fR \- When the option is false, if the target block is in a loop, the promotion will be disallowed unless the promoted counter update can be further/iteratively promoted into an acyclic region. .HP \fB\-strip_path_prefix=\fR \- Strip this prefix from file paths in reports. .HP \fB\-summary\-file=\fR \- The summary file to use for function importing. .HP \fB\-threads=\fR \- .HP \fB\-unfold\-element\-atomic\-memcpy\-max\-elements=\fR \- Maximum number of elements in atomic memcpy the optimizer is allowed to unfold .HP \fB\-verify\-region\-info\fR \- Verify region info (time consuming) .HP \fB\-vp\-counters\-per\-site=\fR \- The average number of profile counters allocated per value profiling site. .HP \fB\-vp\-static\-alloc\fR \- Do static counter allocation for value profiler .PP Generic Options: .HP \fB\-help\fR \- Display available options (\fB\-help\-hidden\fR for more) .HP \fB\-help\-list\fR \- Display list of available options (\fB\-help\-list\-hidden\fR for more) .HP \fB\-version\fR \- Display the version of this program .SH "SEE ALSO" The full documentation for .B sancov is maintained as a Texinfo manual. If the .B info and .B sancov programs are properly installed at your site, the command .IP .B info sancov .PP should give you access to the complete manual.