Intel® C++ Compiler 16.0 User and Reference Guide
Lets you enable or disable the instrumentation of specified functions.
Not available on IA-32 architecture targeting Intel® Graphics Technology, or on Intel® 64 architecture targeting Intel® Graphics Technology
Linux: | -tcollect-filter filename |
OS X: | None |
Windows: | /Qtcollect-filter:filename |
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. |
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. |
This option lets you enable or disable the instrumentation of specified functions.
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 Feature Requirements.
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 OS: icl /Qtcollect /Qopt-report /Qopt-report-phase:tcollect
Linux OS: icc -tcollect -qopt-report -qopt-report-phase=tcollect