GCC Middle and Back End API Reference
reg_equivs_s Struct Reference

#include <reload.h>

Collaboration diagram for reg_equivs_s:

Data Fields

rtx constant
rtx invariant
rtx memory_loc
rtx address
rtx mem
rtx alt_mem_list
rtx init

Detailed Description

Register equivalences. Indexed by register number.


Field Documentation

rtx reg_equivs_s::address

The address of stack slot to which pseudo reg N is equivalent. This is used when the address is not valid as a memory address (because its displacement is too big for the machine.)

rtx reg_equivs_s::alt_mem_list

An EXPR_LIST of REG_EQUIVs containing MEMs with alternate representations of the location of pseudo reg N.

rtx reg_equivs_s::constant

The constant value to which pseudo reg N is equivalent, or zero if pseudo reg N is not equivalent to a constant. find_reloads looks at this in order to replace pseudo reg N with the constant it stands for.

rtx reg_equivs_s::init

The list of insns that initialized reg N from its equivalent constant or memory slot.

rtx reg_equivs_s::invariant

An invariant value to which pseudo reg N is equivalent. eliminate_regs_in_insn uses this to replace pseudos in particular contexts.

rtx reg_equivs_s::mem

The memory slot to which pseudo reg N is equivalent, or zero if pseudo reg N is not equivalent to a memory slot.

rtx reg_equivs_s::memory_loc

A memory location to which pseudo reg N is equivalent, prior to any register elimination (such as frame pointer to stack pointer). Depending on whether or not it is a valid address, this value is transferred to either equiv_address or equiv_mem.


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