On Thu, 8 Oct 2026, Richard Biener wrote:
> there's no "BB free" RTL emission anymore?

Appending is, emit_insn -> add_insn never looks at a block. The entry
edge version from my first mail only uses that and passes mips.exp.

> So keeping the GIMPLE IL looks wrong then?

Jakub?

Julius

On Thu, Oct 08, 2026 02:41 PM, Richard Biener <[email protected]> wrote:
>
> On Thu, 8 Oct 2026, Julius Bairaktaris wrote:
>
> > On Thu, 8 Oct 2026, Richard Biener wrote:
> > > So the issue does look more prevalent. But! We're dealing with
> > > sequences here, not with "basic-blocks", so mips should
> > > probably be using emit_insn_before instead of add_insn_before?
> >
> > mips16_gp_pseudo_reg currently uses emit_insn_after (set, scan), which
> > ends in add_insn_after, and that writes BB_END of the non-BB_RTL block.
> >
> > I tried emit_insn_before on the first real insn instead. That works
> > for the testcase, because add_insn_before only compares against
> > BB_HEAD and does not touch BB_END.
> >
> > But a plain swap crashed 7 other tests in mips.exp: when no real insn
> > has been emitted yet, NEXT_INSN (scan) is NULL. Keeping
> > emit_insn_after for that case fixes it:
> >
> > rtx_insn *insn = (NEXT_INSN (scan)
> > ? emit_insn_before (set, NEXT_INSN (scan))
> > : emit_insn_after (set, scan));
> >
> > With that, the testcase passes and mips.exp shows no other changes.
> >
> > Should I send this as v2 instead of the emit-rtl.cc change? If the
> > more general problem needs a bigger fix in the expander, I'd rather
> > leave that to you or Jakub: I used Claude for this, so I can only
> > send small changes under the AI policy.
>
> Well, I think papering over the issue like you did feels wrong.
> But I'm not exactly an expert here either.  But yes, it seems
> emit_insn_* will eventually dispatch to add_insn_* again and
> there's no "BB free" RTL emission anymore?
>
> So keeping the GIMPLE IL looks wrong then?
>
> Richard.
>
> > Julius
> >
>
> --
> Richard Biener <[email protected]>
> SUSE Software Solutions Germany GmbH,
> Frankenstrasse 146, 90461 Nuernberg, Germany;
> GF: Stefan Gaiser, Jochen Jaser, Abhinav Puri; (HRB 36809, AG Nuernberg)

Reply via email to