GCC Middle and Back End API Reference
emit_status Struct Reference

#include <function.h>

Collaboration diagram for emit_status:

Data Fields

int x_reg_rtx_no
int x_first_label_num
rtx x_first_insn
rtx x_last_insn
struct sequence_stacksequence_stack
int x_cur_insn_uid
int x_cur_debug_insn_uid
int regno_pointer_align_length
unsigned char * regno_pointer_align

Field Documentation

unsigned char* emit_status::regno_pointer_align

Indexed by pseudo register number, if nonzero gives the known alignment for that pseudo (if REG_POINTER is set in x_regno_reg_rtx). Allocated in parallel with x_regno_reg_rtx.

int emit_status::regno_pointer_align_length

The length of the regno_pointer_align, regno_decl, and x_regno_reg_rtx vectors. Since these vectors are needed during the expansion phase when the total number of registers in the function is not yet known, the vectors are copied and made bigger when necessary.

struct sequence_stack* emit_status::sequence_stack

Stack of pending (incomplete) sequences saved by `start_sequence'. Each element describes one pending sequence. The main insn-chain is saved in the last element of the chain, unless the chain is empty.

int emit_status::x_cur_debug_insn_uid

INSN_UID for next debug insn emitted. Only used if –param min-nondebug-insn-uid=

is given with nonzero value.

int emit_status::x_cur_insn_uid

INSN_UID for next insn emitted. Reset to 1 for each function compiled.

rtx emit_status::x_first_insn

The ends of the doubly-linked chain of rtl for the current function. Both are reset to null at the start of rtl generation for the function.

start_sequence saves both of these on `sequence_stack' and then starts a new, nested sequence of insns.

int emit_status::x_first_label_num

Lowest label number in current function.

rtx emit_status::x_last_insn
int emit_status::x_reg_rtx_no

This is reset to LAST_VIRTUAL_REGISTER + 1 at the start of each function. After rtl generation, it is 1 plus the largest register number used.


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