---
name: "sancov-6.0"
section: "1"
platform: "linux"
package: "clang-tools-6.0"
version: "1:6.0.1-10"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/sancov-6.0"
---

# sancov-6.0(1)

manual page for sancov 6.0

## NAME

sancov - manual page for sancov 6.0

## DESCRIPTION

OVERVIEW: Sanitizer Coverage Processing Tool (sancov)

-

  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:

**-print-coverage-pcs**     - coverage-instrumented binary files

**-print-coverage**         - .sancov files

- \<other actions\>

  \- .sancov files & corresponding binary files, .symcov files

USAGE: sancov \[options\] \<action\> \<binary files...\> \<.sancov files...\> \<.symcov files...\>

OPTIONS:

General options:

**-aarch64-neon-syntax**                              - Choose style of NEON code to emit from AArch64 backend:

- \=generic

  \-   Emit generic NEON assembly

- \=apple

  \-   Emit Apple-style NEON assembly

**-amdgpu-dump-hsa-metadata**                         - Dump AMDGPU HSA Metadata

**-amdgpu-enable-merge-m0**                           - Merge and hoist M0 initializations

**-amdgpu-sdwa-peephole**                             - Enable SDWA peepholer

**-amdgpu-spill-sgpr-to-smem**                        - Use scalar stores to spill SGPRs if supported by subtarget

**-amdgpu-verify-hsa-metadata**                       - Verify AMDGPU HSA Metadata

**-amdgpu-vgpr-index-mode**                           - Use GPR indexing mode instead of movrel for vector indexing

**-arm-add-build-attributes**                         -

**-arm-implicit-it**                                  - Allow conditional instructions outdside of an IT block

- \=always

  \-   Accept in both ISAs, emit implicit ITs in Thumb

- \=never

  \-   Warn in ARM, reject in Thumb

- \=arm

  \-   Accept in ARM, reject in Thumb

- \=thumb

  \-   Warn in ARM, emit implicit ITs in Thumb

- **-atomic-counter-update-promoted** - Do counter update using atomic fetch add

  for promoted counters only

**-blacklist=**\<string\>                               - Blacklist file (sanitizer blacklist format).

**-bounds-checking-single-trap**                      - Use one trap block per function

**-color**                                            - use colored syntax highlighting (default=autodetect)

**-cost-kind**                                        - Target cost kind

- \=throughput

  \-   Reciprocal throughput

- \=latency

  \-   Instruction latency

- \=code-size

  \-   Code size

**-cvp-dont-process-adds**                            -

**-debug-counter**                                    - Comma separated list of debug counter skip and count

- \=predicateinfo-rename

  \-   Controls which variables are renamed with predicateinfo

- \=instcombine-visit

  \-   Controls which instructions are visited

- \=newgvn-vn

  \-   Controls which instructions are value numbered

- \=newgvn-phi

  \-   Controls which instructions we create phi of ops for

- \=falkor-hwpf

  \-   Controls which tag collisions are avoided

**-demangle**                                         - Print demangled function name.

**-do-counter-promotion**                             - Do counter register promotion

**-emscripten-cxx-exceptions-whitelist=**\<string\>     - The list of function names in which Emscripten-style exception handling is enabled (see emscripten EMSCRIPTEN\_CATCHING\_WHITELIST options)

**-enable-emscripten-cxx-exceptions**                 - WebAssembly Emscripten-style exception handling

**-enable-emscripten-sjlj**                           - WebAssembly Emscripten-style setjmp/longjmp handling

**-enable-load-pre**                                  -

**-enable-name-compression**                          - Enable name string compression

**-enable-packed-inlinable-literals**                 - Enable packed inlinable literals (v2f16, v2i16)

**-enable-si-insert-waitcnts**                        - Use new waitcnt insertion pass

**-expensive-combines**                               - Enable expensive instruction combines

- **-gpsize=**\<uint\> - Global Pointer Addressing Size.

  The default size is 8.

**-hash-based-counter-split**                         - Rename counter variable of a comdat function based on cfg hash

**-import-all-index**                                 - Import all external functions in index.

**-instcombine-maxarray-size=**\<uint\>                 - Maximum array size considered when doing a combine

**-internalize-public-api-file=**\<filename\>           - A file containing list of symbol names to preserve

**-internalize-public-api-list=**\<list\>               - A list of symbol names to preserve

**-iterative-counter-promotion**                      - Allow counter promotion across the whole loop nest.

**-lto-pass-remarks-output=**\<filename\>               - Output filename for pass remarks

**-max-counter-promotions=**\<int\>                     - Max number of allowed counter promotions

**-max-counter-promotions-per-loop=**\<uint\>           - Max number counter promotions per loop to avoid increasing register pressure too much

**-memop-size-large=**\<uint\>                          - Set large value thresthold in memory intrinsic size profiling. Value of 0 disables the large value profiling.

**-memop-size-range=**\<string\>                        - Set the range of size in memory intrinsic calls to be profiled precisely, in a format of \<start\_val\>:\<end\_val\>

**-merror-missing-parenthesis**                       - Error for missing parenthesis around predicate registers

**-merror-noncontigious-register**                    - Error for register names that aren't contigious

**-mhvx**                                             - Enable Hexagon Vector eXtensions

- \=v60

  \-   Build for HVX v60

- \=v62

  \-   Build for HVX v62

- \=v65

  \-   Build for HVX v65

- \=

  \-

**-mips-compact-branches**                            - MIPS Specific: Compact branch policy.

- \=never

  \-   Do not use compact branches if possible.

- \=optimal

  \-   Use compact branches where appropiate (default).

- \=always

  \-   Always use compact branches if possible.

**-mips16-constant-islands**                          - Enable mips16 constant islands.

**-mips16-hard-float**                                - Enable mips16 hard float.

**-mno-compound**                                     - Disable looking for compound instructions for Hexagon

**-mno-fixup**                                        - Disable fixing up resolved relocations for Hexagon

**-mno-ldc1-sdc1**                                    - Expand double precision loads and stores to their single precision counterparts

**-mno-pairing**                                      - Disable looking for duplex instructions for Hexagon

**-mwarn-missing-parenthesis**                        - Warn for missing parenthesis around predicate registers

**-mwarn-noncontigious-register**                     - Warn for register names that arent contigious

**-mwarn-sign-mismatch**                              - Warn for mismatching a signed and unsigned value

**-no-discriminators**                                - Disable generation of discriminator information.

**-nvptx-sched4reg**                                  - NVPTX Specific: schedule for register pressue

-

  Action (required)

**-print**                                          - Print coverage addresses

**-print-coverage-pcs**                             - Print coverage instrumentation points addresses.

**-covered-functions**                              - Print all covered funcions.

**-not-covered-functions**                          - Print all not covered funcions.

**-print-coverage-stats**                           - Print coverage statistics.

**-html-report**                                    - REMOVED. Use **-symbolize** & coverage-report-server.py.

**-symbolize**                                      - Produces a symbolized JSON report from binary report.

**-merge**                                          - Merges reports.

**-print-module-scope**                               - When printing IR for print-\[before\|after\]{-all} always print a module IR

**-r600-ir-structurize**                              - Use StructurizeCFG IR pass

**-rdf-dump**                                         -

**-rdf-limit=**\<uint\>                                 -

**-safepoint-ir-verifier-print-only**                 -

**-sample-profile-check-record-coverage=**\<N\>         - Emit a warning if less than N% of records in the input profile are matched to the IR.

**-sample-profile-check-sample-coverage=**\<N\>         - Emit a warning if less than N% of samples in the input profile are matched to the IR.

**-sample-profile-inline-hot-threshold=**\<N\>          - Inlined functions that account for more than N% of all samples collected in the parent function, will be inlined again.

**-sample-profile-max-propagate-iterations=**\<uint\>   - Maximum number of iterations to go through when propagating sample block/edge weights through the CFG.

**-skip-dead-files**                                  - Do not list dead source files in reports.

- **-speculative-counter-promotion-max-exiting=**\<uint\> - The max number of exiting blocks of a loop to allow

  speculative counter promotion

- **-speculative-counter-promotion-to-loop** - 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.

**-strip\_path\_prefix=**\<string\>                       - Strip this prefix from file paths in reports.

**-summary-file=**\<string\>                            - The summary file to use for function importing.

**-threads=**\<int\>                                    -

**-unfold-element-atomic-memcpy-max-elements=**\<uint\> - Maximum number of elements in atomic memcpy the optimizer is allowed to unfold

**-verify-region-info**                               - Verify region info (time consuming)

**-vp-counters-per-site=**\<number\>                    - The average number of profile counters allocated per value profiling site.

**-vp-static-alloc**                                  - Do static counter allocation for value profiler

Generic Options:

**-help**                                             - Display available options (**-help-hidden** for more)

**-help-list**                                        - Display list of available options (**-help-list-hidden** for more)

**-version**                                          - Display the version of this program
