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: