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

Data Fields

gimple cand_stmt
tree base_expr
tree stride
double_int index
tree cand_type
enum cand_kind kind
cand_idx cand_num
cand_idx next_interp
cand_idx basis
cand_idx dependent
cand_idx sibling
cand_idx def_phi
int dead_savings

Field Documentation

tree slsr_cand_d::base_expr

The base expression B: often an SSA name, but not always.

Referenced by analyze_increments(), create_mul_ssa_cand(), find_basis_for_base_expr(), and ncd_of_cand_and_phis().

cand_idx slsr_cand_d::basis

Index of the basis statement S0, if any, in the candidate vector.

Referenced by analyze_increments(), find_basis_for_base_expr(), and replace_rhs_if_not_dup().

cand_idx slsr_cand_d::cand_num

Index of this candidate in the candidate vector.

Referenced by find_basis_for_base_expr().

tree slsr_cand_d::cand_type

The type of the candidate. This is normally the type of base_expr, but casts may have occurred when combining feeding instructions. A candidate can only be a basis for candidates of the same final type. (For CAND_REFs, this is the type to be used for operand 1 of the replacement MEM_REF.)

Referenced by create_mul_ssa_cand().

int slsr_cand_d::dead_savings

Savings that can be expected from eliminating dead code if this candidate is replaced.

Referenced by create_mul_ssa_cand(), find_basis_for_base_expr(), and record_phi_increments().

cand_idx slsr_cand_d::def_phi

If this is a conditional candidate, the CAND_PHI candidate that defines the base SSA name B.

Referenced by find_basis_for_base_expr(), record_phi_increments(), and replace_rhs_if_not_dup().

cand_idx slsr_cand_d::dependent

First candidate for which this candidate is a basis, if one exists.

Referenced by find_basis_for_base_expr(), and record_phi_increments().

double_int slsr_cand_d::index

The index constant i.

Referenced by analyze_increments(), create_mul_ssa_cand(), and ncd_of_cand_and_phis().

enum cand_kind slsr_cand_d::kind

The kind of candidate (CAND_MULT, etc.).

Referenced by create_mul_ssa_cand(), and stmt_cost().

cand_idx slsr_cand_d::next_interp

Index of the next candidate record for the same statement. A statement may be useful in more than one way (e.g., due to commutativity). So we can have multiple "interpretations" of a statement.

Referenced by create_add_imm_cand(), and create_mul_ssa_cand().

cand_idx slsr_cand_d::sibling

Next candidate having the same basis as this one.

Referenced by find_basis_for_base_expr(), and record_phi_increments().

tree slsr_cand_d::stride

The stride S.

Referenced by create_mul_ssa_cand(), and ncd_for_two_cands().


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