Patchwork [15/28] mn10300: Force lower-subreg pass to run.

login
register
mail settings
Submitter Richard Henderson
Date Jan. 10, 2011, 8:31 p.m.
Message ID <1294691517-19580-16-git-send-email-rth@redhat.com>
Download mbox | patch
Permalink /patch/78208/
State New
Headers show

Comments

Richard Henderson - Jan. 10, 2011, 8:31 p.m.
From: Richard Henderson <rth@twiddle.net>

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.
---
 gcc/config/mn10300/mn10300.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
Jeff Law - Jan. 12, 2011, 2:02 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/10/11 13:31, Richard Henderson wrote:
> From: Richard Henderson <rth@twiddle.net>
> 
> 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.
OK.
Jeff
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNLbR0AAoJEBRtltQi2kC7Px0H/RRI+fS9ohL7lImU37bvgdLS
KJaaEbF5HBMRiuMjixsy8aaZjQeF1QUIm/wTAqT+AnyevjZjWMIPBy9fBk2MSJXR
6UEzAM3PxgZw/f3x5E16fDRAOH11IpmeKnSRaLWPqMakHw+4swm4ITOVgBpr+Dqe
p5hNmxYumlZUzZZ3YBXLQjNgV2Ioo0BAPlfuQh2ERt3RWVxV+VU3E18L8xw9bwvk
kyIFr/mbVc4rB8OE4Zkh5VeGV+P68E4oL1ZTyEqwhn8eEnShKCVoIu1ePdR3tJoF
yt7asjiB1JMurOUwhW4j1h5+hM3OuuG6x28/Rca/KJ/t48Yl+GIqJJHIzhJ65Cg=
=Gjp1
-----END PGP SIGNATURE-----

Patch

diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index 32fb57d..f9dab21 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)