aboutsummaryrefslogtreecommitdiff
path: root/gcc/haifa-sched.cc
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2024-01-18 14:45:27 +0100
committerJakub Jelinek <jakub@redhat.com>2024-01-18 14:45:27 +0100
commita6bf09f65aed44d36acaa511e552783bfb0e9a62 (patch)
tree9664c5651038657d01d747ada626fc9e3e3d13f6 /gcc/haifa-sched.cc
parent6764043e88a4208f7c69bf0ccd19ddc7a6016fb1 (diff)
downloadgcc-a6bf09f65aed44d36acaa511e552783bfb0e9a62.zip
gcc-a6bf09f65aed44d36acaa511e552783bfb0e9a62.tar.gz
gcc-a6bf09f65aed44d36acaa511e552783bfb0e9a62.tar.bz2
Fix compare-debug bootstrap failure [PR113445]
... caused by scheduler fix for PR96388 and PR111554. This patch adjusts decision sched-deps.cc:find_inc() to use length of dependency lists sans any DEBUG_INSN instructions. gcc/ChangeLog 2024-01-18 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> PR bootstrap/113445 * haifa-sched.cc (dep_list_size): Make global. * sched-deps.cc (find_inc): Use instead of sd_lists_size(). * sched-int.h (dep_list_size): Declare. gcc/testsuite/ChangeLog 2024-01-18 Jakub Jelinek <jakub@redhat.com> PR bootstrap/113445 * gcc.dg/pr113445.c: New test.
Diffstat (limited to 'gcc/haifa-sched.cc')
-rw-r--r--gcc/haifa-sched.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/haifa-sched.cc b/gcc/haifa-sched.cc
index 49ee589..1bc610f 100644
--- a/gcc/haifa-sched.cc
+++ b/gcc/haifa-sched.cc
@@ -1560,8 +1560,7 @@ contributes_to_priority_p (dep_t dep)
}
/* Compute the number of nondebug deps in list LIST for INSN. */
-
-static int
+int
dep_list_size (rtx_insn *insn, sd_list_types_def list)
{
sd_iterator_def sd_it;
@@ -1571,6 +1570,11 @@ dep_list_size (rtx_insn *insn, sd_list_types_def list)
if (!MAY_HAVE_DEBUG_INSNS)
return sd_lists_size (insn, list);
+ /* TODO: We should split normal and debug insns into separate SD_LIST_*
+ sub-lists, and then we'll be able to use something like
+ sd_lists_size(insn, list & SD_LIST_NON_DEBUG)
+ instead of walking dependencies below. */
+
FOR_EACH_DEP (insn, list, sd_it, dep)
{
if (DEBUG_INSN_P (DEP_CON (dep)))