[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#916591: gcc-8: Please add patch to disable broken selective scheduling on ia64



Source: gcc-8
Version: 8.2.0-12
Severity: normal
Tags: patch
User: debian-ia64@lists.debian.org
Usertags: ia64

Hello!

The optimization feature "selective scheduling" on ia64 is broken and
causes multiple packages failing to build from source when built with
-O3 [1].

Since gcc upstream is pondering to remove selective scheduling anyway
and it currently causes only trouble for us on ia64, I suggest to
disable it for ia64 which is what the attached patch and debdiff do.

Please use either the debdiff or the patch. I have tested the patch.

Thanks,
Adrian

> [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85412

--
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
diff -Nru old/gcc-8-8.2.0/debian/patches/ia64-disable-selective-scheduling.diff new/gcc-8-8.2.0/debian/patches/ia64-disable-selective-scheduling.diff
--- old/gcc-8-8.2.0/debian/patches/ia64-disable-selective-scheduling.diff	1970-01-01 01:00:00.000000000 +0100
+++ new/gcc-8-8.2.0/debian/patches/ia64-disable-selective-scheduling.diff	2018-12-16 12:18:41.641049632 +0100
@@ -0,0 +1,16 @@
+--- a/src/gcc/config/ia64/ia64.c	2018-01-03 11:03:58.000000000 +0100
++++ b/src/gcc/config/ia64/ia64.c	2018-12-16 12:19:05.420184086 +0100
+@@ -6122,13 +6122,6 @@
+ static void
+ ia64_override_options_after_change (void)
+ {
+-  if (optimize >= 3
+-      && !global_options_set.x_flag_selective_scheduling
+-      && !global_options_set.x_flag_selective_scheduling2)
+-    {
+-      flag_selective_scheduling2 = 1;
+-      flag_sel_sched_pipelining = 1;
+-    }
+   if (mflag_sched_control_spec == 2)
+     {
+       /* Control speculation is on by default for the selective scheduler,
diff -Nru old/gcc-8-8.2.0/debian/rules.patch new/gcc-8-8.2.0/debian/rules.patch
--- old/gcc-8-8.2.0/debian/rules.patch	2018-12-16 12:19:39.000000000 +0100
+++ new/gcc-8-8.2.0/debian/rules.patch	2018-12-16 12:20:40.509053873 +0100
@@ -76,6 +76,7 @@
 	kfreebsd-decimal-float \
  	powerpcspe_remove_many \
 	pr87531-revert \
+	ia64-disable-selective-scheduling \
 
 # FIXME: see #915194
 #      gcc-search-prefixed-as-ld \
--- a/src/gcc/config/ia64/ia64.c	2018-01-03 11:03:58.000000000 +0100
+++ b/src/gcc/config/ia64/ia64.c	2018-12-16 12:19:05.420184086 +0100
@@ -6122,13 +6122,6 @@
 static void
 ia64_override_options_after_change (void)
 {
-  if (optimize >= 3
-      && !global_options_set.x_flag_selective_scheduling
-      && !global_options_set.x_flag_selective_scheduling2)
-    {
-      flag_selective_scheduling2 = 1;
-      flag_sel_sched_pipelining = 1;
-    }
   if (mflag_sched_control_spec == 2)
     {
       /* Control speculation is on by default for the selective scheduler,

Reply to: