Commit ec815d65 by Richard Henderson Committed by Richard Henderson

mn10300: Force lower-subreg pass to run.

There are a number of tests that fail -- generally ones involving
generic vectorization -- at -O0 because we run out of registers.
The lower-subreg pass cleans things up sufficiently to allow these
tests to succeed.

From-SVN: r168721
parent d6a3e264
2011-01-12 Richard Henderson <rth@redhat.com> 2011-01-12 Richard Henderson <rth@redhat.com>
* config/mn10300/mn10300.c (mn10300_option_override): Force enable
flag_split_wide_types.
* config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove. * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
(mn10300_trampoline_init): Rewrite without a template, an immediate (mn10300_trampoline_init): Rewrite without a template, an immediate
load and a direct branch. load and a direct branch.
......
...@@ -127,6 +127,12 @@ mn10300_option_override (void) ...@@ -127,6 +127,12 @@ mn10300_option_override (void)
not have timing information available for it. */ not have timing information available for it. */
flag_schedule_insns = 0; flag_schedule_insns = 0;
flag_schedule_insns_after_reload = 0; flag_schedule_insns_after_reload = 0;
/* Force enable splitting of wide types, as otherwise it is trivial
to run out of registers. Indeed, this works so well that register
allocation problems are now more common *without* optimization,
when this flag is not enabled by default. */
flag_split_wide_types = 1;
} }
if (mn10300_tune_string) if (mn10300_tune_string)
......
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