+2011-07-24 Richard Henderson <rth@redhat.com>
+
+ PR debug/49831
+ * dwarf2cfi.c (connect_traces): Allow unvisited traces. Skip
+ them entirely.
+
+2011-07-24 Richard Henderson <rth@redhat.com>
+
+ PR debug/49825
+ * dwarf2cfi.c (dwarf2out_stack_adjust): Move A_O_A test earlier.
+ (dwarf2out_notice_stack_adjust): Use args_size from call_insn.
+
+2011-07-24 Richard Henderson <rth@redhat.com>
+
+ PR debug/49827
+ * dwarf2cfi.c (create_trace_edges): Handle sequences properly.
+
+2011-07-24 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (maybe_record_trace_start): Add abnormal parameter.
+ Zero args_size for abnormal edges. Adjust all callers.
+
+2011-07-24 Richard Henderson <rth@redhat.com>
+
+ PR debug/49825
+ * dwarf2cfi.c (cfi_row_equal_p): Don't compare args_size.
+
+2011-07-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/49835
+ * collect2.c (demangle_flag): Removed.
+
+2011-07-24 Sandra Loosemore <sandra@codesourcery.com>
+
+ * configure.ac (demangler_in_ld): Default to yes.
+ * configure: Regenerated.
+ * collect2.c (main): When HAVE_LD_DEMANGLE is defined, don't
+ mess with COLLECT_NO_DEMANGLE, and just pass --demangle and
+ --no-demangle options straight through to ld. When
+ HAVE_LD_DEMANGLE is not defined, set COLLECT_NO_DEMANGLE in a
+ way that has the intended effect on Windows.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c: Include basic-block.h.
+ (dw_label_info): Remove.
+ (trace_work_list, trace_index): New.
+ (remember_row, emit_cfa_remember): Remove.
+ (dw_trace_info_hash, dw_trace_info_eq): New.
+ (get_trace_index, get_trace_info): New.
+ (save_point_p): New.
+ (free_cfi_row): Remove.
+ (add_cfi): Do not emit DW_CFA_remember_state.
+ (cfa_row_equal_p): New.
+ (barrier_args_size): Remove.
+ (compute_barrier_args_size_1, compute_barrier_args_size): Remove.
+ (dwarf2out_notice_stack_adjust): Don't compute_barrier_args_size.
+ (maybe_record_trace_start, create_trace_edges, scan_trace): New.
+ (dwarf2out_cfi_begin_epilogue): Remove.
+ (dwarf2out_frame_debug_restore_state): Remove.
+ (connect_traces, create_pseudo_cfg): New.
+ (create_cfi_notes, execute_dwarf2_frame): Rewrite using traces.
+ * Makefile.in (dwarf2cfi.o): Update.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (dw_trace_info): New.
+ (dw_label_info): New.
+ (cie_return_save): New.
+ (cur_trace): New.
+ (queued_args_size): Rename from args_size. Update all users.
+ (cfa_store, cfa_temp, regs_saved_in_regs): Remove.
+ (def_cfa_1): Use cur_trace instead of cfa_*.
+ (dwarf2out_stack_adjust, record_reg_saved_in_reg): Likewise.
+ (clobbers_queued_reg_save, reg_saved_in): Likewise.
+ (dwarf2out_frame_debug_expr): Likewise.
+ (create_cie_data): Split out from ...
+ (execute_dwarf2_frame): ... here. Initialize cur_trace.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (regs_saved_in_regs): Allocate from heap, not gc.
+ Update all users to match.
+ (execute_dwarf2_frame): Free reg_saved_in_data.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (queued_reg_save): Reorder for packing. Don't GTY.
+ (queued_reg_saves): Don't GTY. Change to a VEC.
+ (queue_reg_save): Update to match.
+ (dwarf2out_flush_queued_reg_saves): Likewise.
+ (clobbers_queued_reg_save): Likewise.
+ (reg_saved_in): Likewise.
+ (execute_dwarf2_frame): Free queued_reg_saves.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (dw_cfi_row_ref): Remove. Update all users.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (add_cfi_args_size): Split out from...
+ (dwarf2out_args_size): ... here.
+ (add_cfi_restore): Split out from ...
+ (dwarf2out_frame_debug_cfa_restore): ... here.
+ (def_cfa_0): Split out from ...
+ (def_cfa_1): ... here.
+ (cfi_oprnd_equal_p, cfi_equal_p): New.
+ (change_cfi_row): New.
+ (add_cfis_to_fde): Set fde->dw_fde_switch_cfi_index.
+ (create_cfi_notes): Use change_cfi_row at SWITCH_TEXT note.
+ (output_cfis): Remove.
+ * dwarf2out.c (output_fde): Simplify output_cfi loop.
+ (dwarf2out_switch_text_section): Don't call output_cfis.
+ (dw_val_equal_p, loc_descr_equal_p_1, loc_descr_equal_p): New.
+ * dwarf2out.h: Update decls.
+ (enum dw_val_class): Add dw_val_class_none.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (update_row_reg_save): New.
+ (dwarf2out_frame_debug_cfa_expression): Use it.
+ (dwarf2out_frame_debug_cfa_restore): Likewise.
+ (reg_save): Likewise. Do not emit DW_CFA_same_value.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (add_cfi_insn): Rename from cfi_insn. Update all users.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (dw_cfi_row, dw_cfi_row_ref): New.
+ (cie_cfi_row): New.
+ (new_cfi_row, copy_cfi_row, free_cfi_row): New.
+ (cfa, old_cfa, cfa_remember, old_cfa_remember, old_args_size): Remove.
+ (cur_row, remember_row): New.
+ (def_cfa_1): Use cur_row instead of the old_* variables.
+ (dwarf2out_frame_debug_restore_state): Similarly.
+ (dwarf2out_args_size, dwarf2out_notice_stack_adjust): Likewise.
+ (dwarf2out_frame_debug_def_cfa): Use a local variable instead of cfa.
+ (dwarf2out_frame_debug_adjust_cfa): Likewise.
+ (dwarf2out_frame_debug_cfa_offset): Likewise.
+ (dwarf2out_frame_debug_expr): Likewise.
+ (execute_dwarf2_frame): Set up cur_row.
+ * dwarf2out.h (struct cfa_loc): Mark for GTY.
+
2011-07-23 Richard Henderson <rth@redhat.com>
* basic-block.h (EDGE_PRESERVE): New.