GCC Middle and Back End API Reference
|
#include <lra-int.h>
Data Fields | |
int | icode |
rtx | insn |
struct lra_static_insn_data * | insn_static_data |
rtx ** | operand_loc |
rtx ** | dup_loc |
int * | arg_hard_regs |
bool * | alternative_enabled_p |
int | used_insn_alternative |
struct lra_insn_reg * | regs |
LRA internal info about an insn (LRA internal insn representation).
bool* lra_insn_recog_data::alternative_enabled_p |
Alternative enabled for the insn. NULL for debug insns.
Referenced by lra_update_insn_recog_data().
int* lra_insn_recog_data::arg_hard_regs |
Number of hard registers implicitly used in given call insn. The value can be NULL or points to array of the hard register numbers ending with a negative value.
rtx** lra_insn_recog_data::dup_loc |
int lra_insn_recog_data::icode |
The insn code.
rtx lra_insn_recog_data::insn |
The insn itself.
Referenced by lra_create_copy().
struct lra_static_insn_data* lra_insn_recog_data::insn_static_data |
Common data for insns with the same ICODE. Asm insns (their ICODE is negative) do not share such structures.
rtx** lra_insn_recog_data::operand_loc |
Two arrays of size correspondingly equal to the operand and the duplication numbers:
Referenced by process_alt_operands(), push_insns(), uses_hard_regs_p(), and valid_address_p().
struct lra_insn_reg* lra_insn_recog_data::regs |
The following member value is always NULL for a debug insn.
Referenced by lra_create_copy().
int lra_insn_recog_data::used_insn_alternative |
The alternative should be used for the insn, -1 if invalid, or we should try to use any alternative, or the insn is a debug insn.