Commit 8de492c3 authored by wilson's avatar wilson
Browse files

PR target/24934

* opts.c (decode_options): Turn off partitioning if flag_unwind_tables
is set.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108103 138bc75d-0d04-0410-961f-82ee72b054a4
parent 437f5d6b
2005-12-05 James E Wilson <wilson@specifix.com>
PR target/24934
* opts.c (decode_options): Turn off partitioning if flag_unwind_tables
is set.
2005-12-05 Daniel Berlin <dberlin@dberlin.org> 2005-12-05 Daniel Berlin <dberlin@dberlin.org>
* print-tree.c (print_node): Ditto. * print-tree.c (print_node): Ditto.
......
...@@ -675,7 +675,8 @@ decode_options (unsigned int argc, const char **argv) ...@@ -675,7 +675,8 @@ decode_options (unsigned int argc, const char **argv)
/* The optimization to partition hot and cold basic blocks into separate /* The optimization to partition hot and cold basic blocks into separate
sections of the .o and executable files does not work (currently) sections of the .o and executable files does not work (currently)
with exception handling. If flag_exceptions is turned on we need to with exception handling. This is because there is no support for
generating unwind info. If flag_exceptions is turned on we need to
turn off the partitioning optimization. */ turn off the partitioning optimization. */
if (flag_exceptions && flag_reorder_blocks_and_partition) if (flag_exceptions && flag_reorder_blocks_and_partition)
...@@ -686,8 +687,24 @@ decode_options (unsigned int argc, const char **argv) ...@@ -686,8 +687,24 @@ decode_options (unsigned int argc, const char **argv)
flag_reorder_blocks = 1; flag_reorder_blocks = 1;
} }
/* If user requested unwind info, then turn off the partitioning
optimization. */
if (flag_unwind_tables && ! targetm.unwind_tables_default
&& flag_reorder_blocks_and_partition)
{
inform ("-freorder-blocks-and-parition does not support unwind info");
flag_reorder_blocks_and_partition = 0;
flag_reorder_blocks = 1;
}
/* If the target requested unwind info, then turn off the partitioning
optimization with a different message. Likewise, if the target does not
support named sections. */
if (flag_reorder_blocks_and_partition if (flag_reorder_blocks_and_partition
&& !targetm.have_named_sections) && (!targetm.have_named_sections
|| (flag_unwind_tables && targetm.unwind_tables_default)))
{ {
inform inform
("-freorder-blocks-and-partition does not work on this architecture"); ("-freorder-blocks-and-partition does not work on this architecture");
......
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