diff options
author | Richard Henderson <rth@redhat.com> | 2011-07-23 13:49:33 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-07-23 13:49:33 -0700 |
commit | 829bdd4b09d2e84d6a2ec28aa7d4dfb847760ac2 (patch) | |
tree | ebcf19a72c92a542f709e09f40a0598278e6db58 /gcc/Makefile.in | |
parent | 43215a89ecd2c8cfcc00b1a6f9a493b011d437ff (diff) | |
download | gcc-829bdd4b09d2e84d6a2ec28aa7d4dfb847760ac2.zip gcc-829bdd4b09d2e84d6a2ec28aa7d4dfb847760ac2.tar.gz gcc-829bdd4b09d2e84d6a2ec28aa7d4dfb847760ac2.tar.bz2 |
dwarf2cfi: Generate and connect traces.
This kinda-sorta corresponds to Bernd's 007-dw2cfi patch. Certainly
the same concepts of splitting the instruction stream into extended
basic blocks is the same. This patch does a bit better job with the
documentation. Also, I'm a bit more explicit about matching things
up with the similar code from the regular CFG routines.
What's missing at this point is any attempt to use DW_CFA_remember_state.
I've deferred that for the moment because it's easy to test the state
change code across epilogues, whereas the shrink-wrapping code is not
in this tree and section switching is difficult to force.
* 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.
From-SVN: r176705
Diffstat (limited to 'gcc/Makefile.in')
-rw-r--r-- | gcc/Makefile.in | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 2f8d08f..b215cd6 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -2957,7 +2957,7 @@ dwarf2out.o : dwarf2out.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ tree-pretty-print.h $(COMMON_TARGET_H) $(OPTS_H) dwarf2cfi.o : dwarf2cfi.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ version.h $(RTL_H) $(FUNCTION_H) $(DWARF2_H) dwarf2asm.h dwarf2out.h \ - $(GGC_H) $(TM_P_H) $(TARGET_H) $(TREE_PASS_H) + $(GGC_H) $(TM_P_H) $(TARGET_H) $(TREE_PASS_H) $(BASIC_BLOCK_H) dwarf2asm.o : dwarf2asm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ $(FLAGS_H) $(RTL_H) $(TREE_H) output.h dwarf2asm.h $(TM_P_H) $(GGC_H) \ gt-dwarf2asm.h $(DWARF2_H) $(SPLAY_TREE_H) $(TARGET_H) |