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: