From: rth Date: Wed, 12 Jan 2011 17:47:02 +0000 (+0000) Subject: mn10300: Force lower-subreg pass to run. X-Git-Tag: upstream/4.9.2~23539 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=731049b6e90e749e244fa80dc53b7389a3c16405;p=platform%2Fupstream%2Flinaro-gcc.git 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 --- 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)