GCC Middle and Back End API Reference
dw_trace_info Struct Reference
Collaboration diagram for dw_trace_info:

Data Fields

rtx head
dw_cfi_rowbeg_row
dw_cfi_rowend_row
HOST_WIDE_INT beg_true_args_size
HOST_WIDE_INT end_true_args_size
HOST_WIDE_INT beg_delay_args_size
HOST_WIDE_INT end_delay_args_size
rtx eh_head
dw_cfa_location cfa_store
dw_cfa_location cfa_temp
vec< reg_saved_in_dataregs_saved_in_regs
unsigned id
bool switch_sections
bool args_size_undefined

Detailed Description

Since we no longer have a proper CFG, we're going to create a facsimile
   of one on the fly while processing the frame-related insns.

   We create dw_trace_info structures for each extended basic block beginning
   and ending at a "save point".  Save points are labels, barriers, certain
   notes, and of course the beginning and end of the function.

   As we encounter control transfer insns, we propagate the "current"
   row state across the edges to the starts of traces.  When checking is
   enabled, we validate that we propagate the same data from all sources.

   All traces are members of the TRACE_INFO array, in the order in which
   they appear in the instruction stream.

   All save points are present in the TRACE_INDEX hash, mapping the insn
   starting a trace to the dw_trace_info describing the trace.   

Field Documentation

bool dw_trace_info::args_size_undefined
HOST_WIDE_INT dw_trace_info::beg_delay_args_size

Referenced by connect_traces(), and notice_eh_throw().

HOST_WIDE_INT dw_trace_info::beg_true_args_size
rtx dw_trace_info::eh_head

Referenced by connect_traces(), and notice_eh_throw().

HOST_WIDE_INT dw_trace_info::end_delay_args_size

Referenced by connect_traces(), and notice_eh_throw().

dw_cfi_row * dw_trace_info::end_row

Referenced by connect_traces(), and scan_trace().

unsigned dw_trace_info::id
bool dw_trace_info::switch_sections

The documentation for this struct was generated from the following file: