diff options
author | Joseph Myers <joseph@codesourcery.com> | 2010-10-18 20:40:50 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2010-10-18 20:40:50 +0100 |
commit | b69da3d839be206c4c1fb206b4d56cc55aba44f4 (patch) | |
tree | 8cc229854e0008175522a2fb82b43dc85ec44c3c | |
parent | fd4e428acca3558d0167b3a01a3df517a89edda3 (diff) | |
download | gcc-b69da3d839be206c4c1fb206b4d56cc55aba44f4.zip gcc-b69da3d839be206c4c1fb206b4d56cc55aba44f4.tar.gz gcc-b69da3d839be206c4c1fb206b4d56cc55aba44f4.tar.bz2 |
i386.c (ix86_option_override_internal): Define and use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer default.
* config/i386/i386.c (ix86_option_override_internal): Define and
use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
default.
* config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
(USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
From-SVN: r165660
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 | ||||
-rw-r--r-- | gcc/config/i386/sol2-10.h | 9 |
3 files changed, 15 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9254a12..3595e5c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2010-10-18 Joseph Myers <joseph@codesourcery.com> + + * config/i386/i386.c (ix86_option_override_internal): Define and + use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer + default. + * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove. + (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define. + 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 60b4dff..eada313 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -3272,6 +3272,10 @@ ix86_option_override_internal (bool main_args_p) #define USE_IX86_FRAME_POINTER 0 #endif +#ifndef USE_X86_64_FRAME_POINTER +#define USE_X86_64_FRAME_POINTER 0 +#endif + /* Set the default values for switches whose default depends on TARGET_64BIT in case they weren't overwritten by command line options. */ if (TARGET_64BIT) @@ -3279,7 +3283,7 @@ ix86_option_override_internal (bool main_args_p) if (optimize > 1 && !global_options_set.x_flag_zee) flag_zee = 1; if (optimize >= 1 && !global_options_set.x_flag_omit_frame_pointer) - flag_omit_frame_pointer = 1; + flag_omit_frame_pointer = !USE_X86_64_FRAME_POINTER; if (flag_asynchronous_unwind_tables == 2) flag_asynchronous_unwind_tables = 1; if (flag_pcc_struct_return == 2) diff --git a/gcc/config/i386/sol2-10.h b/gcc/config/i386/sol2-10.h index e972ece..04ae700 100644 --- a/gcc/config/i386/sol2-10.h +++ b/gcc/config/i386/sol2-10.h @@ -81,13 +81,8 @@ along with GCC; see the file COPYING3. If not see #undef WINT_TYPE_SIZE #define WINT_TYPE_SIZE 32 -#define SUBTARGET_OVERRIDE_OPTIONS \ - do \ - { \ - if (!global_options_set.x_flag_omit_frame_pointer) \ - flag_omit_frame_pointer = 0; \ - } \ - while (0) +#define USE_IX86_FRAME_POINTER 1 +#define USE_X86_64_FRAME_POINTER 1 /* Override i386/sol2.h version: return 8-byte vectors in MMX registers if possible, matching Sun Studio 12 Update 1+ compilers and other x86 |