http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50251

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot
                   |                            |gnu.org

--- Comment #17 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-09-03 
09:47:08 UTC ---
> This patch sets need_drap when a stack_restore is present at expand, which
> allows both the 20010209-1.c and the stack-stave-restore.c testcase to 
> succeed:
> ...
> Index: src/gcc-mainline/gcc/explow.c
> ===================================================================
> --- src/gcc-mainline/gcc/explow.c (revision 178379)
> +++ src/gcc-mainline/gcc/explow.c (working copy)
> @@ -1062,6 +1062,9 @@ emit_stack_restore (enum save_level save
>    /* The default is that we use a move insn.  */
>    rtx (*fcn) (rtx, rtx) = gen_move_insn;
> 
> +  if (SUPPORTS_STACK_ALIGNMENT)
> +    crtl->need_drap = true;
> +
>    /* See if this machine has anything special to do for this kind of save.  
> */
>    switch (save_level)
>      {
> ...

Does this force stack realignment, or only the use of the DRAP if we already do
stack realignment?

Reply via email to