GCC Middle and Back End API Reference
|
#include <sched-int.h>
Data Fields | |
int | dep_count |
unsigned int | has_internal_dep |
deps_list_t | hard_back_deps |
deps_list_t | spec_back_deps |
deps_list_t | forw_deps |
deps_list_t | resolved_back_deps |
deps_list_t | resolved_forw_deps |
rtx | cond |
rtx | cond_deps |
unsigned int | reverse_cond: 1 |
unsigned int | cant_move: 1 |
Indexed by INSN_UID, the collection of all data associated with a single instruction.
unsigned int _haifa_deps_insn_data::cant_move |
Some insns (e.g. call) are not allowed to move across blocks.
rtx _haifa_deps_insn_data::cond |
If the insn is conditional (either through COND_EXEC, or because it is a conditional branch), this records the condition. NULL for insns that haven't been seen yet or don't have a condition; const_true_rtx to mark an insn without a condition, or with a condition that has been clobbered by a subsequent insn.
rtx _haifa_deps_insn_data::cond_deps |
For a conditional insn, a list of insns that could set the condition register. Used when generating control dependencies.
int _haifa_deps_insn_data::dep_count |
The number of incoming edges in the forward dependency graph. As scheduling proceeds, counts are decreased. An insn moves to the ready queue when its counter reaches zero.
deps_list_t _haifa_deps_insn_data::forw_deps |
A list of insns which depend on the instruction. Unlike 'back_deps', it represents forward dependencies.
deps_list_t _haifa_deps_insn_data::hard_back_deps |
NB: We can't place 'struct _deps_list' here instead of deps_list_t into h_i_d because when h_i_d extends, addresses of the deps_list->first change without updating deps_list->first->next->prev_nextp. Thus BACK_DEPS and RESOLVED_BACK_DEPS are allocated on the heap and FORW_DEPS list is allocated on the obstack.
A list of hard backward dependencies. The insn is a consumer of all the deps mentioned here.
unsigned int _haifa_deps_insn_data::has_internal_dep |
Nonzero if instruction has internal dependence (e.g. add_dependence was invoked with (insn == elem)).
deps_list_t _haifa_deps_insn_data::resolved_back_deps |
A list of scheduled producers of the instruction. Links are being moved from 'back_deps' to 'resolved_back_deps' while scheduling.
deps_list_t _haifa_deps_insn_data::resolved_forw_deps |
A list of scheduled consumers of the instruction. Links are being moved from 'forw_deps' to 'resolved_forw_deps' while scheduling to fasten the search in 'forw_deps'.
unsigned int _haifa_deps_insn_data::reverse_cond |
True if the condition in 'cond' should be reversed to get the actual condition.
deps_list_t _haifa_deps_insn_data::spec_back_deps |
A list of speculative (weak) dependencies. The insn is a consumer of all the deps mentioned here.