Commit d123bf41 by DJ Delorie Committed by DJ Delorie

m32c.c (m32c_option_override): Always disable function-cse in 16-bit mode.

* config/m32c/m32c.c (m32c_option_override): Always disable
function-cse in 16-bit mode.  Indirect calls are always worse than
direct calls as there is no 16-bit indirect call opcode.
(m32c_override_options_after_change): New, likewise.

From-SVN: r165737
parent 582346ed
2010-10-20 DJ Delorie <dj@redhat.com>
* config/m32c/m32c.c (m32c_option_override): Always disable
function-cse in 16-bit mode. Indirect calls are always worse than
direct calls as there is no 16-bit indirect call opcode.
(m32c_override_options_after_change): New, likewise.
2010-10-20 Nathan Froyd <froydnj@codesourcery.com>
* ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try
......@@ -429,6 +429,21 @@ m32c_option_override (void)
/* This target defaults to strict volatile bitfields. */
if (flag_strict_volatile_bitfields < 0)
flag_strict_volatile_bitfields = 1;
/* r8c/m16c have no 16-bit indirect call, so thunks are involved.
This is always worse than an absolute call. */
if (TARGET_A16)
flag_no_function_cse = 1;
}
#undef TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE
#define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE m32c_override_options_after_change
static void
m32c_override_options_after_change (void)
{
if (TARGET_A16)
flag_no_function_cse = 1;
}
/* Defining data structures for per-function information */
......
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