From 731049b6e90e749e244fa80dc53b7389a3c16405 Mon Sep 17 00:00:00 2001 From: rth Date: Wed, 12 Jan 2011 17:47:02 +0000 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168721 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 3 +++ gcc/config/mn10300/mn10300.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0317cbb..ca0ec90 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 5f2d63b..65e3444 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.7.4