+2011-05-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
+ POST_MODIFY.
+
2011-05-05 Steve Ellcey <sje@cup.hp.com>
* config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
cfa_temp.offset = <const_int>
Rule 10:
- (set (mem (pre_modify sp:cfa_store (???? <reg1> <const_int>))) <reg2>)
+ (set (mem ({pre,post}_modify sp:cfa_store (???? <reg1> <const_int>))) <reg2>)
effects: cfa_store.offset -= <const_int>
cfa.offset = cfa_store.offset if cfa.reg == sp
cfa.reg = sp
/* Rule 10 */
/* With a push. */
case PRE_MODIFY:
+ case POST_MODIFY:
/* We can't handle variable size modifications. */
gcc_assert (GET_CODE (XEXP (XEXP (XEXP (dest, 0), 1), 1))
== CONST_INT);
if (cfa.reg == STACK_POINTER_REGNUM)
cfa.offset = cfa_store.offset;
- offset = -cfa_store.offset;
+ if (GET_CODE (XEXP (dest, 0)) == POST_MODIFY)
+ offset -= cfa_store.offset;
+ else
+ offset = -cfa_store.offset;
break;
/* Rule 11 */