static-instruction-mix

Statically calculate the number of specific instructions present in the binary during Survey analysis.

GUI Equivalent

Project Properties > Analysis Target > Survey Analysis > Advanced > Enable static instruction mix analysis

Syntax

--static-instruction-mix

--no-static-instruction-mix

Default

Off (no-static-instruction-mix)

Actions Modified

collect=survey

Usage

Dynamic instruction mix is counted for the entire execution of the application; static instruction mix is counted per iteration. The static-instruction-mix, dynamic, and mix options work together in the following manner:

  • Collect static instruction mix data: --collect=survey --static-instruction-mix

    (In the GUI: Static instruction mix data is calculated on demand.)

  • Collect dynamic instruction mix data (and static instruction mix data, from which dynamic mix data is calculated): --collect=tripcounts --flop

  • Show static instruction mix data in a Survey report: --report=survey --mix --no-dynamic

  • Show dynamic mix instruction data in a Survey report: --report=survey --mix --dynamic

  • A Survey report cannot show both static and dynamic mix instruction data.

    (In the GUI: Code Analytics can show both static and dynamic instruction mix data.)

Enabling static-instruction-mix:

  • Is necessary in scenarios involving the Python* API.

  • Can increase finalization overhead.

Example

  1. Run a Survey analysis. Collect static instruction mix data.

  2. Generate a Survey report. Show static instruction mix data.

$ advixe-cl --collect=survey --static-instruction-mix --project-dir=./advi -- ./bin/myTargetApplication
$ advixe-cl --report=survey --mix --no-dynamic --project-dir=./advi

See Also

For more complete information about compiler optimizations, see our Optimization Notice.