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

Data Fields

int new_cycle_p
reserv_sets_t reservs
int unique_num
automaton_t automaton
arc_t first_out_arc
unsigned int num_out_arcs
char it_was_placed_in_stack_for_NDFA_forming
char it_was_placed_in_stack_for_DFA_forming
alt_state_t component_states
int pass_num
state_t next_equiv_class_state
int equiv_class_num_1
int equiv_class_num_2
state_t equiv_class_state
unsigned int * presence_signature
int order_state_num
int state_pass_num
int min_insn_issue_delay

Detailed Description

The following node type describes state automaton. The state may be deterministic or non-deterministic. Non-deterministic state has several component states which represent alternative cpu units reservations. The state also is used for describing a deterministic reservation of automaton insn.


Field Documentation

automaton_t state::automaton

The following field value is automaton to which given state belongs.

Referenced by reserv_sets_are_intersected().

alt_state_t state::component_states

The following field is used to transform NDFA to DFA and DFA minimization. The field value is not NULL if the state is a compound state. In this case the value of field `unit_sets_list' is NULL. All states in the list are in the hash table. The list is formed through field `next_sorted_alt_state'. We should support only one level of nesting state.

Referenced by NDFA_to_DFA().

int state::equiv_class_num_1

The two following fields are used during minimization of a finite state automaton.

Referenced by create_composed_state().

int state::equiv_class_num_2

Referenced by create_composed_state().

state_t state::equiv_class_state

The following field is used during minimization of a finite state automaton. The field value is state corresponding to equivalence class to which given state belongs.

Referenced by NDFA_to_DFA().

arc_t state::first_out_arc

The following field value is the first arc output from given state.

char state::it_was_placed_in_stack_for_DFA_forming

The following field is used to form DFA.

char state::it_was_placed_in_stack_for_NDFA_forming

The following field is used to form NDFA.

int state::min_insn_issue_delay

The following member is used to evaluate min issue delay of insn for a state.

int state::new_cycle_p

The following member value is nonzero if there is a transition by cycle advancing.

Referenced by output_insn_latency_func().

state_t state::next_equiv_class_state

The list of states belonging to one equivalence class is formed with the aid of the following field.

Referenced by create_composed_state().

unsigned int state::num_out_arcs
int state::order_state_num

The following field value is the order number of given state. The states in final DFA is enumerated with the aid of the following field.

Referenced by output_insn_latency_func().

int state::pass_num

The following field is used for passing graph of states.

unsigned int* state::presence_signature

Referenced by form_reservs_matter().

reserv_sets_t state::reservs

The following field is list of processor unit reservations on each cycle.

Referenced by alloc_empty_reserv_sets(), and reserv_sets_are_intersected().

int state::state_pass_num

This member is used for passing states for searching minimal delay time.

int state::unique_num

The following field is unique number of given state between other states.

Referenced by evaluate_max_reserv_cycles().


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