Intel® C++ Compiler 16.0 User and Reference Guide

foptimize-sibling-calls

Determines whether the compiler optimizes tail recursive calls.

Syntax

Linux and OS X:

-foptimize-sibling-calls

-fno-optimize-sibling-calls

Windows:

None

Arguments

None

Default

-foptimize-sibling-calls

The compiler optimizes tail recursive calls.

Description

This option determines whether the compiler optimizes tail recursive calls. It enables conversion of tail recursion into loops.

If you do not want to optimize tail recursive calls, specify -fno-optimize-sibling-calls.

Tail recursion is a special form of recursion that doesn't use stack space. In tail recursion, a recursive call is converted to a GOTO statement that returns to the beginning of the function. In this case, the return value of the recursive call is only used to be returned. It is not used in another expression. The recursive function is converted into a loop, which prevents modification of the stack space used.

IDE Equivalent

None

Alternate Options

None