GCC Middle and Back End API Reference
invariant Struct Reference
Collaboration diagram for invariant:

Data Fields

unsigned invno
unsigned eqto
rtx reg
int orig_regno
struct defdef
rtx insn
bool always_executed
bool move
bool cheap_address
unsigned cost
bitmap depends_on
unsigned stamp

Detailed Description

   The data stored for each invariant.  

Field Documentation

bool invariant::always_executed
     Whether it is always executed.  

Referenced by get_inv_cost(), and may_assign_reg_p().

bool invariant::cheap_address
     Whether the invariant is cheap when used as an address.  

Referenced by find_defs().

unsigned invariant::cost
     Cost of the invariant.  

Referenced by find_defs().

struct def* invariant::def
     The definition of the invariant.  

Referenced by find_invariant_insn(), get_inv_cost(), and may_assign_reg_p().

bitmap invariant::depends_on
     The invariants it depends on.  

Referenced by find_invariants_to_move().

unsigned invariant::eqto
     The number of the invariant with the same value.  

Referenced by find_invariants_to_move(), gain_for_invariant(), and invariant_for_use().

rtx invariant::insn
     The insn in that it is defined.  

Referenced by find_invariants_to_move(), and get_inv_cost().

unsigned invariant::invno
     The number of the invariant.  

Referenced by find_invariants_to_move(), and gain_for_invariant().

bool invariant::move
     Whether to move the invariant.  

Referenced by find_invariants_to_move(), and gain_for_invariant().

int invariant::orig_regno
     If we moved the invariant out of the loop, the original regno
     that contained its value.  
rtx invariant::reg
     If we moved the invariant out of the loop, the register that contains its
     value.  

Referenced by find_invariants_to_move().

unsigned invariant::stamp
     Used for detecting already visited invariants during determining
     costs of movements.  

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