Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 3/22/2024
Public

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

Document Table of Contents

fomit-frame-pointer

Determines whether EBP is used as a general-purpose register in optimizations.

Syntax

Linux:

-fomit-frame-pointer

-fno-omit-frame-pointer

Windows:

None

Arguments

None

Default

-fomit-frame-pointer

EBP is used as a general-purpose register in optimizations.

However, the default can change depending on the following:

If option -O0 or -g is specified, the default is -fno-omit-frame-pointer.

Description

These options determine whether EBP is used as a general-purpose register in optimizations. Option -fomit-frame-pointer allows this use. Option -fno-omit-frame-pointer disallows it.

Some debuggers expect EBP to be used as a stack frame pointer, and cannot produce a stack backtrace unless this is so. The -fno-omit-frame-pointer option directs the compiler to generate code that maintains and uses EBP as a stack frame pointer for all functions so that a debugger can still produce a stack backtrace without doing the following:

  • For -fno-omit-frame-pointer: turning off optimizations with -O0

The -fno-omit-frame-pointer option is set when you specify option -O0 or the -g option. The -fomit-frame-pointer option is set when you specify option -O1, -O2, or -O3.

On ifort, using the -fno-omit-frame-pointer option reduces the number of available general-purpose registers by 1, and can result in slightly less efficient code.

IDE Equivalent

Visual Studio: Optimization > Omit Frame Pointers

Alternate Options

Linux: -fp (this is a deprecated option)

Windows: None

See Also