diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2024-01-18 14:45:27 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2024-01-18 14:45:27 +0100 |
commit | a6bf09f65aed44d36acaa511e552783bfb0e9a62 (patch) | |
tree | 9664c5651038657d01d747ada626fc9e3e3d13f6 /gcc/haifa-sched.cc | |
parent | 6764043e88a4208f7c69bf0ccd19ddc7a6016fb1 (diff) | |
download | gcc-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.cc | 8 |
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))) |