Developer Guide and Reference

Contents

tcollect-filter, Qtcollect-filter

Lets you enable or disable the instrumentation of specified functions. You must also specify option [Q]tcollect.

Syntax

Linux:
-tcollect-filter
filename
macOS:
None
Windows:
/Qtcollect-filter
:
filename
Arguments
filename
Is a configuration file that lists filters, one per line. Each filter consists of a regular expression string and a switch. Strings with leading or trailing white spaces must be quoted. Other strings do not have to be quoted. The switch value can be ON, on, OFF, or off.
Default
OFF
Functions are not instrumented. However, if option
-tcollect
(Linux)
or
/Qtcollect
(Windows)
is specified, the filter setting is ".* ON" and all functions get instrumented.
Description
This option lets you enable or disable the instrumentation of specified functions.
To get instrumentation with a specified filter (or filters), you must specify both option
[Q]tcollect
and option
[Q]tcollect-filter
.
During instrumentation, the regular expressions in the file are matched against the function names. The switch specifies whether matching functions are to be instrumented or not. Multiple filters are evaluated from top to bottom with increasing precedence.
The names of the functions to match against are formatted as follows:
  • C++ function names are demangled and the C++ class hierarchy is used. Function parameters are stripped to keep the function names shorter.
  • The source file name is followed by a colon-separated function name. Source file names should contain the full path, if available. For example:
    /home/joe/src/foo.c:FOO_bar
  • Classes and function names are separated by double colons. For example:
    /home/joe/src/foo.cpp:app::foo::bar
You can use option
[q or Q]opt-report
to get a full list of file and function names that the compiler recognizes from the compilation unit. This list can be used as the basis for filtering in the configuration file.
This trace analyzing/collecting feature requires installation of another product. For more information, see .
Alternate Options
None
Consider the following filters in a configuration file:
'.*' OFF '.*vector.*' ON
The above will cause instrumentation of only those functions having the string 'vector' in their names. No other function will be instrumented. Note that reversing the order of the two lines will prevent instrumentation of all functions.
To get a list of the file or routine strings that can be matched by the regular expression filters, generate an optimization report with tcollect information. For example:
Windows: icl /Qtcollect /Qopt-report /Qopt-report-phase:tcollect
Linux: icc -tcollect -qopt-report -qopt-report-phase=tcollect

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804