Intel® C++ Compiler 16.0 User and Reference Guide

qopt-args-in-regs, Qopt-args-in-regs

Determines whether calls to routines are optimized by passing parameters in registers instead of on the stack. Option -qopt-args-in-regs is the replacement option for -opt-args-in-regs, which is deprecated.

Architecture Restrictions

Only available on IA-32 architecture

Syntax

Linux and OS X:

-qopt-args-in-regs[=keyword]

Windows:

/Qopt-args-in-regs[:keyword]

Arguments

keyword

Specifies whether the optimization should be performed and under what conditions. Possible values are:

none

The optimization is not performed. No parameters are passed in registers. They are put on the stack.

seen

Causes parameters to be passed in registers when they are passed to routines whose definition can be seen in the same compilation unit.

all

Causes parameters to be passed in registers, whether they are passed to routines whose definition can be seen in the same compilation unit, or not. This value is only available on Linux* systems.

Default

-qopt-args-in-regs=seen or /Qopt-args-in-regs:seen

Parameters are passed in registers when they are passed to routines whose definition is seen in the same compilation unit.

Description

This option determines whether calls to routines are optimized by passing parameters in registers instead of on the stack. It also indicates the conditions when the optimization will be performed.

This option can improve performance for Application Binary Interfaces (ABIs) that require parameters to be passed in memory and compiled without interprocedural optimization (IPO).

Note that on Linux* systems, if all is specified, a small overhead may be paid when calling "unseen" routines that have not been compiled with the same option. This is because the call will need to go through a "thunk" to ensure that parameters are placed back on the stack where the callee expects them.

IDE Equivalent

None

Alternate Options

None