* dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
From-SVN: r171296
This commit is contained in:
parent
bdfe906f8c
commit
d090a5aa09
2 changed files with 9 additions and 3 deletions
|
@ -16,6 +16,8 @@
|
|||
(*pushhi, *pushsi, *pushsf, popqi): Likewise.
|
||||
(pophi): Remove.
|
||||
|
||||
* dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
|
||||
|
||||
2011-03-22 Nathan Froyd <froydnj@codesourcery.com>
|
||||
|
||||
* tree.c (build_call_1): New function.
|
||||
|
|
|
@ -2239,7 +2239,7 @@ dwarf2out_frame_debug_cfa_restore (rtx reg, const char *label)
|
|||
cfa.base_offset = -cfa_store.offset
|
||||
|
||||
Rule 11:
|
||||
(set (mem ({pre_inc,pre_dec} sp:cfa_store.reg)) <reg>)
|
||||
(set (mem ({pre_inc,pre_dec,post_dec} sp:cfa_store.reg)) <reg>)
|
||||
effects: cfa_store.offset += -/+ mode_size(mem)
|
||||
cfa.offset = cfa_store.offset if cfa.reg == sp
|
||||
cfa.reg = sp
|
||||
|
@ -2258,7 +2258,7 @@ dwarf2out_frame_debug_cfa_restore (rtx reg, const char *label)
|
|||
cfa.base_offset = -{cfa_store,cfa_temp}.offset
|
||||
|
||||
Rule 14:
|
||||
(set (mem (postinc <reg1>:cfa_temp <const_int>)) <reg2>)
|
||||
(set (mem (post_inc <reg1>:cfa_temp <const_int>)) <reg2>)
|
||||
effects: cfa.reg = <reg1>
|
||||
cfa.base_offset = -cfa_temp.offset
|
||||
cfa_temp.offset -= mode_size(mem)
|
||||
|
@ -2591,6 +2591,7 @@ dwarf2out_frame_debug_expr (rtx expr, const char *label)
|
|||
/* Rule 11 */
|
||||
case PRE_INC:
|
||||
case PRE_DEC:
|
||||
case POST_DEC:
|
||||
offset = GET_MODE_SIZE (GET_MODE (dest));
|
||||
if (GET_CODE (XEXP (dest, 0)) == PRE_INC)
|
||||
offset = -offset;
|
||||
|
@ -2615,7 +2616,10 @@ dwarf2out_frame_debug_expr (rtx expr, const char *label)
|
|||
if (cfa.reg == STACK_POINTER_REGNUM)
|
||||
cfa.offset = cfa_store.offset;
|
||||
|
||||
offset = -cfa_store.offset;
|
||||
if (GET_CODE (XEXP (dest, 0)) == POST_DEC)
|
||||
offset += -cfa_store.offset;
|
||||
else
|
||||
offset = -cfa_store.offset;
|
||||
break;
|
||||
|
||||
/* Rule 12 */
|
||||
|
|
Loading…
Add table
Reference in a new issue