From fbfa55b0f65c48b281b708eecaa0cbec9c04ffc6 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sat, 17 Mar 2001 21:09:55 -0800 Subject: dwarf2out.c (queue_reg_save): New. * dwarf2out.c (queue_reg_save): New. (flush_queued_reg_saves, clobbers_queued_reg_save): New. (dwarf2out_frame_debug_expr): Call queue_reg_save instead of dwarf2out_reg_save. (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed. (cfa, cfa_store, cfa_temp): Make static. * final.c (final_scan_insn): Always call dwarf2out_frame_debug. From-SVN: r40594 --- gcc/final.c | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) (limited to 'gcc/final.c') diff --git a/gcc/final.c b/gcc/final.c index 70d6add..2e3b40d 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -2324,9 +2324,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) case BARRIER: #if defined (DWARF2_UNWIND_INFO) - /* If we push arguments, we need to check all insns for stack - adjustments. */ - if (!ACCUMULATE_OUTGOING_ARGS && dwarf2out_do_frame ()) + if (dwarf2out_do_frame ()) dwarf2out_frame_debug (insn); #endif break; @@ -2936,9 +2934,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) current_output_insn = debug_insn = insn; #if defined (DWARF2_UNWIND_INFO) - /* If we push arguments, we want to know where the calls are. */ - if (!ACCUMULATE_OUTGOING_ARGS && GET_CODE (insn) == CALL_INSN - && dwarf2out_do_frame ()) + if (GET_CODE (insn) == CALL_INSN && dwarf2out_do_frame ()) dwarf2out_frame_debug (insn); #endif @@ -3006,22 +3002,15 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) output_asm_insn (template, recog_data.operand); #if defined (DWARF2_UNWIND_INFO) - /* If we push arguments, we need to check all insns for stack - adjustments. */ - if (!ACCUMULATE_OUTGOING_ARGS) - { - if (GET_CODE (insn) == INSN && dwarf2out_do_frame ()) - dwarf2out_frame_debug (insn); - } - else - { #if defined (HAVE_prologue) - /* If this insn is part of the prologue, emit DWARF v2 - call frame info. */ - if (RTX_FRAME_RELATED_P (insn) && dwarf2out_do_frame ()) - dwarf2out_frame_debug (insn); + if (GET_CODE (insn) == INSN && dwarf2out_do_frame ()) + dwarf2out_frame_debug (insn); +#else + if (!ACCUMULATE_OUTGOING_ARGS + && GET_CODE (insn) == INSN + && dwarf2out_do_frame ()) + dwarf2out_frame_debug (insn); #endif - } #endif #if 0 -- cgit v1.1