Intel® Fortran Compiler 17.0 Developer Guide and Reference

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

Determines whether calls to routines are optimized by passing arguments 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 macOS:

-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 arguments are passed in registers. They are put on the stack.

seen

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

all

Causes arguments 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=seenor /Qopt-args-in-regs:seen

Arguments 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 arguments 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 arguments 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 arguments are placed back on the stack where the callee expects them.

IDE Equivalent

None

Alternate Options

None