diff options
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 68d0ee8da3b..e83c7df3571 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -1973,6 +1973,7 @@ dwarf2out_frame_debug_expr (rtx expr, const char *label) cfa_temp.reg = cfa.reg; cfa_temp.offset = cfa.offset; } +else if (dest == stack_pointer_rtx && src == frame_pointer_rtx) ; /*FIXME*/ else { /* Saving a register in a register. */ @@ -2143,6 +2144,10 @@ dwarf2out_frame_debug_expr (rtx expr, const char *label) } return; + case MEM: + /* FIXME. Need this for epilogues. */ + break; + default: gcc_unreachable (); } @@ -10302,6 +10307,7 @@ loc_descriptor (rtx rtl, enum var_init_status initialized) break; case MEM: + rtl = targetm.delegitimize_address (rtl); loc_result = mem_loc_descriptor (XEXP (rtl, 0), GET_MODE (rtl), initialized); if (loc_result == NULL) |