diff options
author | Richard Henderson <rth@redhat.com> | 2011-01-12 09:47:02 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-01-12 09:47:02 -0800 |
commit | ec815d657b52efc88343bab229eb279a55696ad7 (patch) | |
tree | 6201cce6994d447f77b667b85d86a24a1811486b /gcc | |
parent | d6a3e26499ed7c6ff937cdb7319c1f04029cb61c (diff) | |
download | gcc-ec815d657b52efc88343bab229eb279a55696ad7.zip gcc-ec815d657b52efc88343bab229eb279a55696ad7.tar.gz gcc-ec815d657b52efc88343bab229eb279a55696ad7.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/mn10300/mn10300.c | 6 |
2 files changed, 9 insertions, 0 deletions
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 <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. (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) |