GCC Middle and Back End API Reference
_expr Struct Reference

#include <sel-sched-ir.h>

Collaboration diagram for _expr:

Data Fields

vinsn_t vinsn
int spec
int usefulness
int priority
int priority_adj
int sched_times
int orig_bb_index
ds_t spec_done_ds
ds_t spec_to_check_ds
int orig_sched_cycle
vec< expr_history_defhistory_of_changes
signed char target_available
BOOL_BITFIELD needs_spec_check_p: 1
BOOL_BITFIELD was_substituted: 1
BOOL_BITFIELD was_renamed: 1
BOOL_BITFIELD cant_move: 1

Detailed Description

Expression information.


Field Documentation

BOOL_BITFIELD _expr::cant_move

True when expression can't be moved.

vec<expr_history_def> _expr::history_of_changes

This vector contains the history of insn's transformations.

BOOL_BITFIELD _expr::needs_spec_check_p

True when this expression needs a speculation check to be scheduled. This is used during find_used_regs.

int _expr::orig_bb_index

A basic block index this was originated from. Zero when there is more than one originator.

int _expr::orig_sched_cycle

Cycle on which original insn was scheduled. Zero when it has not yet been scheduled or more than one originator.

int _expr::priority

A priority of this expression.

int _expr::priority_adj

A priority adjustment of this expression.

int _expr::sched_times

Number of times the insn was scheduled.

int _expr::spec

SPEC is the degree of speculativeness. FIXME: now spec is increased when an rhs is moved through a conditional, thus showing only control speculativeness. In the future we'd like to count data spec separately to allow a better control on scheduling.

ds_t _expr::spec_done_ds

Instruction should be of SPEC_DONE_DS type in order to be moved to this point.

ds_t _expr::spec_to_check_ds

SPEC_TO_CHECK_DS hold speculation types that should be checked (used only during move_op ()).

signed char _expr::target_available

True (1) when original target (register or memory) of this instruction is available for scheduling, false otherwise. -1 means we're not sure; please run find_used_regs to clarify.

int _expr::usefulness

Degree of speculativeness measured as probability of executing instruction's original basic block given relative to the current scheduling point.

vinsn_t _expr::vinsn

Insn description.

BOOL_BITFIELD _expr::was_renamed

True when the expression was renamed.

BOOL_BITFIELD _expr::was_substituted

True when the expression was substituted. Used for statistical purposes.


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