On Mon, 2 Jun 2025, Jeff Law wrote:

> On 6/1/25 1:12 AM, H.J. Lu wrote:
> > Move get_call_rtx_from to final.c and call call_from_call_insn.
> > 
> > PR other/120493
> > * final.cc (call_from_call_insn): Change the argument type to
> > const rtx_call_insn *.
> > (get_call_rtx_from): New.
> > * rtl.h (is_a_helper <const rtx_call_insn *>::test): New.
> > (get_call_rtx_from): Moved to the final.cc section.
> > * rtlanal.cc (get_call_rtx_from): Removed.
> > 
> > Tested on x86-64.
> Note this did not preserve semantics, though ultimately I think the problem is
> a specific to the c6x port and the old semantics were buggy IMHO.  I haven't
> dug deeply, but I suspect the old code returned NULL_RTX for this because the
> call operand wasn't a MEM.

It also causes an ICE building glibc for s390-linux-gnu.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120525

-- 
Joseph S. Myers
josmy...@redhat.com

Reply via email to