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



--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-15 
18:28:31 UTC ---

I think:



--- gcc/function.c.jj    2013-01-11 09:02:55.000000000 +0100

+++ gcc/function.c    2013-01-15 19:23:20.648826011 +0100

@@ -6029,7 +6029,7 @@ thread_prologue_and_epilogue_insns (void

       if (pic_offset_table_rtx)

     add_to_hard_reg_set (&set_up_by_prologue.set, Pmode,

                  PIC_OFFSET_TABLE_REGNUM);

-      if (stack_realign_drap && crtl->drap_reg)

+      if (crtl->drap_reg)

     add_to_hard_reg_set (&set_up_by_prologue.set,

                  GET_MODE (crtl->drap_reg),

                  REGNO (crtl->drap_reg));



should fix it, in this case we pessimistically assume we might need to realign

the stack and because of -Os we create vDRAP, but then find out we don't

actually need to realign anything.

Reply via email to