|
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.