From ec815d657b52efc88343bab229eb279a55696ad7 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 12 Jan 2011 09:47:02 -0800 Subject: [PATCH] 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 --- gcc/ChangeLog | 3 +++ gcc/config/mn10300/mn10300.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0317cbbe684..ca0ec90d904 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2011-01-12 Richard Henderson + * config/mn10300/mn10300.c (mn10300_option_override): Force enable + flag_split_wide_types. + * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove. (mn10300_trampoline_init): Rewrite without a template, an immediate load and a direct branch. diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c index 5f2d63b5e51..65e34445567 100644 --- a/gcc/config/mn10300/mn10300.c +++ b/gcc/config/mn10300/mn10300.c @@ -127,6 +127,12 @@ mn10300_option_override (void) not have timing information available for it. */ flag_schedule_insns = 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) -- 2.30.2