On Mon, Jun 18, 2018 at 08:43:04AM -0500, Siddhesh Poyarekar wrote:
> r217431 changed X30 as caller-saved in CALL_USE_REGISTERS because of
> which this comment about X30 not being marked as call-clobbered is no
> longer accurate.

Is the second paragraph is still relevant to how we define EPILOGUE_USES?

Possibly I'd rewrite the comment to explain the behaviour around calls and
how they interact with x30.

It seems like the right thing to do, but I can't shake the feeling we'd be
losing useful information here.

James

>       * config/aarch64/aarch64.h: Remove obsolete comment.
> ---
> diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
> index 976f9afae54..df9fb31aa64 100644
> --- a/gcc/config/aarch64/aarch64.h
> +++ b/gcc/config/aarch64/aarch64.h
> @@ -303,15 +303,6 @@ extern unsigned aarch64_architecture_version;
>     register.  GCC internally uses the poly_int variable aarch64_sve_vg
>     instead.  */
>  
> -/* Note that we don't mark X30 as a call-clobbered register.  The idea is
> -   that it's really the call instructions themselves which clobber X30.
> -   We don't care what the called function does with it afterwards.
> -
> -   This approach makes it easier to implement sibcalls.  Unlike normal
> -   calls, sibcalls don't clobber X30, so the register reaches the
> -   called function intact.  EPILOGUE_USES says that X30 is useful
> -   to the called function.  */
> -
>  #define FIXED_REGISTERS                                      \
>    {                                                  \
>      0, 0, 0, 0,   0, 0, 0, 0,        /* R0 - R7 */           \
> -- 
> 2.14.4
> 

Reply via email to