Commit 81c566c2 by Sriraman Tallam Committed by Sriraman Tallam

re PR target/44319 (-fzee is mishandled)

2010-06-06  Sriraman Tallam  <tmsriram@google.com>

	PR target/44319
	* config/i386/i386.c (override_options): Turn zee pass on for level 2
	and above and defer till target is known.
	(optimization_options): Turn on zee pass if TARGET_64BIT is set and
	turn off otherwise.

From-SVN: r160357
parent ae41b2a2
2010-06-06 Sriraman Tallam <tmsriram@google.com>
PR target/44319
* config/i386/i386.c (override_options): Turn zee pass on for level 2
and above and defer till target is known.
(optimization_options): Turn on zee pass if TARGET_64BIT is set and
turn off otherwise.
2010-05-25 Jan Hubicka <jh@suse.cz> 2010-05-25 Jan Hubicka <jh@suse.cz>
* df-core.c (df_set_blocks): Use bitmap_head instead of bitmap. * df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
......
...@@ -2891,6 +2891,8 @@ override_options (bool main_args_p) ...@@ -2891,6 +2891,8 @@ override_options (bool main_args_p)
in case they weren't overwritten by command line options. */ in case they weren't overwritten by command line options. */
if (TARGET_64BIT) if (TARGET_64BIT)
{ {
if (flag_zee == 2)
flag_zee = 1;
/* Mach-O doesn't support omitting the frame pointer for now. */ /* Mach-O doesn't support omitting the frame pointer for now. */
if (flag_omit_frame_pointer == 2) if (flag_omit_frame_pointer == 2)
flag_omit_frame_pointer = (TARGET_MACHO ? 0 : 1); flag_omit_frame_pointer = (TARGET_MACHO ? 0 : 1);
...@@ -2901,6 +2903,8 @@ override_options (bool main_args_p) ...@@ -2901,6 +2903,8 @@ override_options (bool main_args_p)
} }
else else
{ {
if (flag_zee == 2)
flag_zee = 0;
if (flag_omit_frame_pointer == 2) if (flag_omit_frame_pointer == 2)
flag_omit_frame_pointer = 0; flag_omit_frame_pointer = 0;
if (flag_asynchronous_unwind_tables == 2) if (flag_asynchronous_unwind_tables == 2)
...@@ -4390,10 +4394,6 @@ optimization_options (int level, int size ATTRIBUTE_UNUSED) ...@@ -4390,10 +4394,6 @@ optimization_options (int level, int size ATTRIBUTE_UNUSED)
flag_schedule_insns = 0; flag_schedule_insns = 0;
#endif #endif
/* For -O2 and beyond, turn on -fzee for x86_64 target. */
if (level > 1 && TARGET_64BIT)
flag_zee = 1;
if (TARGET_MACHO) if (TARGET_MACHO)
/* The Darwin libraries never set errno, so we might as well /* The Darwin libraries never set errno, so we might as well
avoid calling them when that's the only reason we would. */ avoid calling them when that's the only reason we would. */
...@@ -4405,6 +4405,11 @@ optimization_options (int level, int size ATTRIBUTE_UNUSED) ...@@ -4405,6 +4405,11 @@ optimization_options (int level, int size ATTRIBUTE_UNUSED)
specifying them, we will set the defaults in override_options. */ specifying them, we will set the defaults in override_options. */
if (optimize >= 1) if (optimize >= 1)
flag_omit_frame_pointer = 2; flag_omit_frame_pointer = 2;
/* For -O2 and beyond, turn on -fzee for x86_64 target. */
if (level > 1)
flag_zee = 2;
flag_pcc_struct_return = 2; flag_pcc_struct_return = 2;
flag_asynchronous_unwind_tables = 2; flag_asynchronous_unwind_tables = 2;
flag_vect_cost_model = 1; flag_vect_cost_model = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment