Patchwork Add unwind information to mips epilogues

login
register
mail settings
Submitter Bernd Schmidt
Date Sept. 7, 2011, 3:45 p.m.
Message ID <4E67919F.3090204@codesourcery.com>
Download mbox | patch
Permalink /patch/113777/
State New
Headers show

Comments

Bernd Schmidt - Sept. 7, 2011, 3:45 p.m.
Testing with the shrink-wrapping patch added reveals a problem with the
mips16 "save" insn: sometimes we store registers that shouldn't be
considered saved registers; we have to clear RTX_FRAME_RELATED_P for
these. Testing in progress with mips-elf, "ips16/arch=mips32r2/abi=32"
and some other multilibs. Ok?


Bernd
* config/mips/mips.c (mips16e_build_save_restore): Clear
	RTX_FRAME_RELATED_P for argument stores stolen from the first
	block.

Patch

Index: gcc/config/mips/mips.c
===================================================================
--- gcc/config/mips/mips.c	(revision 178135)
+++ gcc/config/mips/mips.c	(working copy)
@@ -8448,6 +8456,7 @@  mips16e_build_save_restore (bool restore
       offset = top_offset + i * UNITS_PER_WORD;
       set = mips16e_save_restore_reg (restore_p, offset, GP_ARG_FIRST + i);
       XVECEXP (pattern, 0, n++) = set;
+      RTX_FRAME_RELATED_P (set) = 0;
     }
 
   /* Then fill in the other register moves.  */