Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

guide-opts, Qguide-opts

Tells the compiler to analyze certain code and generate recommendations that may improve optimizations.

Syntax

Linux:

-guide-opts=string

macOS:

-guide-opts=string

Windows:

/Qguide-opts:string

Arguments

string

Is the text denoting the code to analyze. The string must appear within quotes. It can take one or more of the following forms:

filename
filename, routine
filename, range [, range]...
filename, routine, range [, range]...

If you specify more than one of the above forms in a string, a semicolon must appear between each form. If you specify more than one range in a string, a comma must appear between each range. Optional blanks can follow each parameter in the forms above and they can also follow each form in a string.

filename

Specifies the name of a file to be analyzed. It can include a path.

If you do not specify a path, the compiler looks for filename in the current working directory.

routine

Specifies the name of a routine to be analyzed. You can include an identifying parameter.

The name, including any parameter, must be enclosed in single quotes.

The compiler tries to uniquely identify the routine that corresponds to the specified routine name. It may select multiple routines to analyze, especially if the following is true:

  • More than one routine has the specified routine name, so the routine cannot be uniquely identified.

  • No parameter information has been specified to narrow the number of routines selected as matches.

range

Specifies a range of line numbers to analyze in the file or routine specified. The range must be specified in integers in the form:

first_line_number-last_line_number

The hyphen between the line numbers is required.

Default

OFF

You do not receive guidance on how to improve optimizations. However, if you specify the [Q]guide option, the compiler analyzes and generates recommendations for all the code in an application

Description

This option tells the compiler to analyze certain code and generate recommendations that may improve optimizations.

This option is ignored unless you also specify one or more of the following options:

  • [Q]guide

  • [Q]guide-vec

  • [Q]guide-data-trans

  • [Q]guide-par

When the [Q]guide-opts option is specified, a message is output that includes which parts of the input files are being analyzed. If a routine is selected to be analyzed, the complete routine name will appear in the generated message.

When inlining is involved, you should specify callee line numbers. Generated messages also use callee line numbers.

IDE Equivalent

Visual Studio: Diagnostics > Guided Auto Parallelism Code Selection Options

Eclipse: Compilation Diagnostics > Guided Auto Parallelism Code Selection

Xcode: Diagnostics > Guided Auto Parallelism Code Selection

Alternate Options

None

Example

Consider the following:

Linux*: -guide-opts="v.c, 1-10; v2.c, 1-40, 50-90, 100-200; v5.c, 300-400; x.c, 'funca(int)', 22-44, 55-77, 88-99; y.c, 'funcb'"
Windows*: /Qguide-opts:"v.c, 1-10; v2.c, 1-40, 50-90, 100-200; v5.c, 300-400; x.c, 'funca(int)', 22-44, 55-77, 88-99; y.c, 'funcb'"

The above command causes the following to be analyzed:

file v.c, line numbers 1 to 10
file v2.c, line numbers 1 to 40, 50 to 90, and 100 to 200
file v5.c, line numbers 300 to 400
file x.c, routine funca with parameter (int), line numbers 22 to 44, 55 to 77, and 88 to 99
file y.c, routine funcb

See Also