# fomit-frame-pointer, Oy

Determines whether EBP is used as a general-purpose register in optimizations. Option /Oy is deprecated and will be removed in a future release.This feature is only available for ifort.

## Architecture Restrictions

Option /Oy[-] is only available on IA-32 architecture. IA-32 support is deprecated and will be removed in a future release.

## Syntax

Linux: | -fomit-frame-pointer -fno-omit-frame-pointer

macOS: | -fomit-frame-pointer -fno-omit-frame-pointer

Windows: | /Oy /Oy-

## Arguments

None

## Default

-fomit-frame-pointer or /Oy | EBP is used as a general-purpose register in optimizations. However, the default can change depending on the following: Linux and macOS If option -O0 or -g is specified, the default is -fno-omit-frame-pointer. Windows If option /Od is specified, the default is /Oy- .

## Description

These options determine whether EBP is used as a general-purpose register in optimizations. Option -fomit-frame-pointer and option /Oy allows this use. Option -fno-omit-frame-pointer and option /Oy- 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 and the /Oy- 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

- For /Oy-: turning off /O1, /O2, or /O3 optimizations

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.

The /Oy option is set when you specify the /O1, /O2, or /O3 option. Option /Oy- is set when you specify the /Od option.

Using the -fno-omit-frame-pointer or /Oy- 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 and macOS: -fp (this is a deprecated option)

Windows: None

Parent topic: Code Generation Options

## See Also

momit-leaf-frame-pointer compiler option