On Tue, Jan 16, 2018 at 3:40 AM, H.J. Lu <hjl.to...@gmail.com> wrote:
> This patch has been used with my Spectre backport for GCC 7 for many
> weeks and has been checked into GCC 7 branch.  Should I revert it on
> GCC 7 branch or check it into trunk?

Ada build failed with this on trunk:

raised STORAGE_ERROR : stack overflow or erroneous memory access
make[5]: *** [/export/gnu/import/git/sources/gcc/gcc/ada/Make-generated.in:45:
ada/sinfo.h] Error 1

Let me revert it on gcc-7-branch.

H.J.
> H.J.
> ---
> When there is no need to make a copy of ix86_frame, we can use reference
> of struct ix86_frame to avoid copy.
>
>         * config/i386/i386.c (ix86_expand_prologue): Use reference of
>         struct ix86_frame.
>         (ix86_expand_epilogue): Likewise.
> ---
>  gcc/config/i386/i386.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
> index bfb31db8752..9eba3ffd5d6 100644
> --- a/gcc/config/i386/i386.c
> +++ b/gcc/config/i386/i386.c
> @@ -13385,7 +13385,6 @@ ix86_expand_prologue (void)
>  {
>    struct machine_function *m = cfun->machine;
>    rtx insn, t;
> -  struct ix86_frame frame;
>    HOST_WIDE_INT allocate;
>    bool int_registers_saved;
>    bool sse_registers_saved;
> @@ -13413,7 +13412,7 @@ ix86_expand_prologue (void)
>    m->fs.sp_valid = true;
>    m->fs.sp_realigned = false;
>
> -  frame = m->frame;
> +  struct ix86_frame &frame = cfun->machine->frame;
>
>    if (!TARGET_64BIT && ix86_function_ms_hook_prologue 
> (current_function_decl))
>      {
> @@ -14291,7 +14290,6 @@ ix86_expand_epilogue (int style)
>  {
>    struct machine_function *m = cfun->machine;
>    struct machine_frame_state frame_state_save = m->fs;
> -  struct ix86_frame frame;
>    bool restore_regs_via_mov;
>    bool using_drap;
>    bool restore_stub_is_tail = false;
> @@ -14304,7 +14302,7 @@ ix86_expand_epilogue (int style)
>      }
>
>    ix86_finalize_stack_frame_flags ();
> -  frame = m->frame;
> +  struct ix86_frame &frame = cfun->machine->frame;
>
>    m->fs.sp_realigned = stack_realign_fp;
>    m->fs.sp_valid = stack_realign_fp
> --
> 2.14.3
>



-- 
H.J.

Reply via email to