On Mon, Jan 09, 2023 at 09:05:26AM +0100, Richard Biener wrote:
> On Wed, Jan 4, 2023 at 9:54 AM Jose E. Marchesi via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
> >
> >
> > ping.
> > Would this be a good approach for fixing the issue?
> 
> adding the is_libcall bit enlarges rtx_def by 8 bytes - there's no room for 
> more
> bits here.

That is obviously not the way to go, sure.

> I really wonder how other targets avoid the issue you are pointing out?
> Do their assemblers prune unused (extern) .global?

I think no target solves this, if they see an extern call during expansion
and emit some directive for those, they emit the global or whatever directive
which remains there.

If all bits for CALL_INSN are taken, can't we add a flag on the CALL
rtx inside of the CALL_INSN pattern?  Or a flag on the SYMBOL_REF inside of
it (libcalls are always direct calls, aren't they) or SYMBOL_REF_FLAGS ?

        Jakub

Reply via email to