This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[commit] Enable -fsched-pressure by default on s390
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: rdsandiford at googlemail dot com (Richard Sandiford)
- Cc: vmakarov at redhat dot com (Vladimir Makarov), gcc-patches at gcc dot gnu dot org, Andreas dot Krebbel at de dot ibm dot com
- Date: Wed, 2 May 2012 23:03:06 +0200 (CEST)
- Subject: [commit] Enable -fsched-pressure by default on s390
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".
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 },
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com