Hi Segher, On Tue, Sep 22, 2020 at 06:59:42PM -0500, Segher Boessenkool wrote: > On Tue, Sep 22, 2020 at 09:55:12AM +0930, Alan Modra wrote: > > if (!info->push_p) > > - return; > > + { > > + /* We need the -fsplit-stack prologue for functions that make > > + tail calls. Tail calls don't count against crtl->is_leaf. */ > > + for (insn = get_topmost_sequence ()->first; insn; insn = NEXT_INSN > > (insn)) > > + if (CALL_P (insn)) > > + break; > > + if (!insn) > > + return; > > + } > > I don't think that get_topmost_sequence is correct.
We get here from inside a sequence so we definitely need a way to look at the function RTL rather than the empty sequence. You want push_topmost_sequence / pop_topmost_sequence around the rtl scan? I wasn't aware there was a need for that when not emitting insns. And can't see any reason why when I look carefully, except that seems to be customary, grep only shows one other place using get_topmost_sequence as I did. > Other than that this is fine for trunk (and backports). Thanks! > > > Segher -- Alan Modra Australia Development Lab, IBM