RFA: non-const libcalls

Richard Henderson rth@redhat.com
Sat May 12 10:52:00 GMT 2001


On Sat, May 12, 2001 at 09:14:09AM -0300, Alexandre Oliva wrote:
>  These
> +@code{MEM}s are used only in @code{LIBCALL}s, because they don't
> +introduce basic blocks.

Err, no.  Basic blocks have nothing to do with this.  These
mems are used only on CONST_CALL_P libcalls.

> +A register or memory region specified in a @code{clobber} in this list
> +is modified @emph{after} the execution of the @code{call_insn} (i.e.,
> +it's preserved during the execution of the @code{call_insn} itself, but
> +the called function is assumed to clobber it), while a register
> +specified in a @code{clobber} in the body of the @code{call_insn} is
> +clobbered before the insn completes execution (i.e., it's modified
> +before the callee starts executing).

This distinction is meaningless.  The call pattern is atomic as far
as the compiler is concerned.


r~



More information about the Gcc-patches mailing list