Patchwork [commit] Enable -fsched-pressure by default on s390

login
register
mail settings
Submitter Ulrich Weigand
Date May 2, 2012, 9:03 p.m.
Message ID <201205022103.q42L36pC016720@d06av02.portsmouth.uk.ibm.com>
Download mbox | patch
Permalink /patch/156553/
State New
Headers show

Comments

Ulrich Weigand - May 2, 2012, 9:03 p.m.
Richard Sandiford wrote:
> "Ulrich Weigand" <uweigand@de.ibm.com> writes:
> > Richard Sandiford wrote:
> >> Vladimir Makarov <vmakarov@redhat.com> writes:
> >> > Taking your results for S390 and ARM with Neon into account, I guess it 
> >> > should be included and probably made by default for these 2 targets (for 
> >> > sure for s390).
> >> 
> >> OK, thanks to both of you.
> >> 
> >> Ulrich and Andreas: would you be happy for s390 to use this by default?
> >> I'll update the patch and install if so.
> >
> > I've talked to Andreas, and we agree that s390 should use this as default.
> > If you install the base patch, we'll do the back-end change accordingly.
> > (I'll also work with Ramana to enable it on ARM where it makes sense,
> > probably when targeting Cortex-A cores.)
> 
> OK, installed after bootstrapping & regression-testing on
> x86_64-linux-gnu, both as normal and with:

Thanks!  I've now checked in the following patch to enable
-fsched-pressure -fsched-pressure-algorithm=model by default on s390.

(The different schedule uncovered a problem with a missing "volatile"
in an asm statement in a s390-specific test case ...)

Tested with no regressions on s390x-ibm-linux.

Bye,
Ulrich


2012-05-02  Ulrich Weigand  <ulrich.weigand@linaro.org>

	gcc/
	* common/config/s390/s390-common.c (s390_option_optimization_table):
	Enable -fsched-pressure using -fsched-pressure-algorithm=model by
	default when optimizing.

	gcc/testsuite/
	* gcc.target/s390/20030123-1.c: Add missing "volatile".

Patch

Index: gcc/testsuite/gcc.target/s390/20030123-1.c
===================================================================
--- gcc/testsuite/gcc.target/s390/20030123-1.c	(revision 187042)
+++ gcc/testsuite/gcc.target/s390/20030123-1.c	(working copy)
@@ -12,7 +12,7 @@ 
    char *p = alloca (4096);
    long idx;
 
-   asm ("" : "=r" (idx) : : "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "12");
+   asm volatile ("" : "=r" (idx) : : "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "12");
 
    func (p + idx + 1);
 }
Index: gcc/common/config/s390/s390-common.c
===================================================================
--- gcc/common/config/s390/s390-common.c	(revision 187042)
+++ gcc/common/config/s390/s390-common.c	(working copy)
@@ -51,6 +51,12 @@ 
   {
     { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 },
 
+    /* Enable -fsched-pressure using -fsched-pressure-algorithm=model
+       by default when optimizing.  */
+    { OPT_LEVELS_1_PLUS, OPT_fsched_pressure, NULL, 1 },
+    { OPT_LEVELS_1_PLUS, OPT_fsched_pressure_algorithm_,
+      NULL, SCHED_PRESSURE_MODEL },
+
     /* ??? There are apparently still problems with -fcaller-saves.  */
     { OPT_LEVELS_ALL, OPT_fcaller_saves, NULL, 0 },