Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 12/16/2022
Public

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

Document Table of Contents

foptimize-sibling-calls

Determines whether the compiler optimizes tail recursive calls.

Syntax

Linux:

-foptimize-sibling-calls

-fno-optimize-sibling-calls

macOS:

-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