GCC Middle and Back End API Reference
_sel_insn_data Struct Reference

#include <sel-sched-ir.h>

Collaboration diagram for _sel_insn_data:

Data Fields

expr_def expr
int ws_level
int seqno
regset live
bitmap analyzed_deps
bitmap found_deps
bitmap originators
htab_t transformed_insns
struct deps_desc deps_context
insn_t sched_next
int sched_cycle
int ready_cycle
ds_t spec_checked_ds
BOOL_BITFIELD live_valid_p: 1
BOOL_BITFIELD asm_p: 1
BOOL_BITFIELD after_stall_p: 1

Detailed Description

Indexed by INSN_LUID, the collection of all data associated with a single instruction that is in the stream.


Field Documentation

BOOL_BITFIELD _sel_insn_data::after_stall_p

True when an insn is scheduled after we've determined that a stall is required. This is used when emulating the Haifa scheduler for bundling.

bitmap _sel_insn_data::analyzed_deps

An INSN_UID bit is set when deps analysis result is already known.

BOOL_BITFIELD _sel_insn_data::asm_p

Insn is an ASM.

struct deps_desc _sel_insn_data::deps_context

A context incapsulating this insn.

expr_def _sel_insn_data::expr

The expression that contains vinsn for this insn and some flow-sensitive data like priority.

bitmap _sel_insn_data::found_deps

An INSN_UID bit is set when a hard dep was found, not set when no dependence is found. This is meaningful only when the analyzed_deps bitmap has its bit set.

regset _sel_insn_data::live

A liveness data computed above this insn.

BOOL_BITFIELD _sel_insn_data::live_valid_p

Whether the live set valid or not.

bitmap _sel_insn_data::originators

An INSN_UID bit is set when this is a bookkeeping insn generated from a parent with this uid. If a parent is a bookkeeping copy, all its originators are transitively included in this set.

int _sel_insn_data::ready_cycle

Cycle at which insn's data will be fully ready.

int _sel_insn_data::sched_cycle

Cycle at which insn was scheduled. It is greater than zero if insn was scheduled. This is used for bundling.

insn_t _sel_insn_data::sched_next

This field is initialized at the beginning of scheduling and is used to handle sched group instructions. If it is non-null, then it points to the instruction, which should be forced to schedule next. Such instructions are unique.

int _sel_insn_data::seqno

A number that helps in defining a traversing order for a region.

ds_t _sel_insn_data::spec_checked_ds

Speculations that are being checked by this insn.

htab_t _sel_insn_data::transformed_insns

A hashtable caching the result of insn transformations through this one.

int _sel_insn_data::ws_level

If (WS_LEVEL == GLOBAL_LEVEL) then AV is empty.


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