From: Maxim Kuvyrkov Date: Mon, 15 Dec 2025 15:36:10 +0000 (+0100) Subject: Haifa scheduler: Prevent splitting of fusion pairs in dispatch scheduling X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=40d0f79577e7011c19b6ef16ef921eeef6737462;p=thirdparty%2Fgcc.git Haifa scheduler: Prevent splitting of fusion pairs in dispatch scheduling gcc/Changelog * haifa-sched.cc (choose_ready): Don't require dfa_lookahead <= 0 to schedule SCHED_GROUP_P insns first. --- diff --git a/gcc/haifa-sched.cc b/gcc/haifa-sched.cc index 63eb06b2d82..58e04eee0db 100644 --- a/gcc/haifa-sched.cc +++ b/gcc/haifa-sched.cc @@ -6132,8 +6132,13 @@ choose_ready (struct ready_list *ready, bool first_cycle_insn_p, return -1; } - if (dfa_lookahead <= 0 || SCHED_GROUP_P (ready_element (ready, 0)) + if (SCHED_GROUP_P (ready_element (ready, 0)) || DEBUG_INSN_P (ready_element (ready, 0))) + { + *insn_ptr = ready_remove_first (ready); + return 0; + } + else if (dfa_lookahead <= 0) { if (targetm.sched.dispatch (NULL, IS_DISPATCH_ON)) *insn_ptr = ready_remove_first_dispatch (ready);