On Fri, Sep 11, 2026 at 9:45 AM xiezhiheng <[email protected]> wrote: > > Thanks, could you please help push the patch, since I do not have write > access.
On a 2nd thought, re-trying that many times doesn't make much sense, so can you rework to only aovid the overflow when computing max_lookahead_tries. Your original patch is almost OK for that, but the artificial number 10000 should instead be INT_MAX I think. The int64_t can still overflow, so possibly break from the loop when max_tries > INT_MAX. Thanks, Richard. > From: Richard Biener<[email protected]> > To: xiezhiheng<[email protected]> > Cc: [email protected] > Subject: Re: [PATCH] sched: Change max_lookahead_tries type to int64_t > Time: 2026-09-11 14:33:54 > > On Fri, Sep 11, 2026 at 5:13 AM xiezhiheng <[email protected]> wrote: > > > > As mentioned in > > https://gcc.gnu.org/pipermail/gcc-patches/2026-September/730781.html, > > issue_rate values on modern cores keep increasing, and the maximum > > issue_rate in the AArch64 backend has reached 10, causing an overflow > > in the calculation of max_lookahead_tries. Change its type to int64_t. > > > > Bootstrapped and tested on aarch64-linux-gnu and x86_64-linux-gnu, no > > regression. > > OK. > > > gcc/ChangeLog: > > > > * haifa-sched.cc (max_issue): Change max_lookahead_tries type to > > int64_t > > --- > > gcc/haifa-sched.cc | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/gcc/haifa-sched.cc b/gcc/haifa-sched.cc > > index 879749e9785..733a83034bf 100644 > > --- a/gcc/haifa-sched.cc > > +++ b/gcc/haifa-sched.cc > > @@ -5921,7 +5921,7 @@ int dfa_lookahead; > > might be incomplete and such insn might occur. For such > > descriptions, the complexity of algorithm (without the constraint) > > could achieve DFA_LOOKAHEAD ** N , where N is the queue length. */ > > -static int max_lookahead_tries; > > +static int64_t max_lookahead_tries; > > > > /* The following function returns maximal (or close to maximal) number > > of insns which can be issued on the same cycle and one of which > > @@ -5941,8 +5941,9 @@ int > > max_issue (struct ready_list *ready, int privileged_n, state_t state, > > bool first_cycle_insn_p, int *index) > > { > > - int n, i, all, n_ready, best, delay, tries_num; > > + int n, i, all, n_ready, best, delay; > > int more_issue; > > + int64_t tries_num; > > struct choice_entry *top; > > rtx_insn *insn; > > > > -- > > 2.43.0 > >
