sh.c (sh_override_options): When flag_exceptions or flag_unwind_tables is on...

* config/sh/sh.c (sh_override_options): When flag_exceptions or
	flag_unwind_tables is on, turn flag_reorder_blocks_and_partition
	off.

From-SVN: r150727
This commit is contained in:
Kaz Kojima 2009-08-13 22:16:07 +00:00
parent 2c6dd136d3
commit 91d1d52101
2 changed files with 29 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2009-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.c (sh_override_options): When flag_exceptions or
flag_unwind_tables is on, turn flag_reorder_blocks_and_partition
off.
2009-08-13 Ghassan Shobaki <ghassan.shobaki@amd.com>
* tree-ssa-loop-prefetch.c

View File

@ -874,6 +874,29 @@ sh_override_options (void)
flag_schedule_insns = 0;
}
/* Unwinding with -freorder-blocks-and-partition does not work on this
architecture, because it requires far jumps to label crossing between
hot/cold sections which are rejected on this architecture. */
if (flag_reorder_blocks_and_partition)
{
if (flag_exceptions)
{
inform (input_location,
"-freorder-blocks-and-partition does not work with "
"exceptions on this architecture");
flag_reorder_blocks_and_partition = 0;
flag_reorder_blocks = 1;
}
else if (flag_unwind_tables)
{
inform (input_location,
"-freorder-blocks-and-partition does not support unwind "
"info on this architecture");
flag_reorder_blocks_and_partition = 0;
flag_reorder_blocks = 1;
}
}
if (align_loops == 0)
align_loops = 1 << (TARGET_SH5 ? 3 : 2);
if (align_jumps == 0)