GCC Middle and Back End API Reference
lra_insn_recog_data Struct Reference

#include <lra-int.h>

Collaboration diagram for lra_insn_recog_data:

Data Fields

int icode
rtx insn
struct lra_static_insn_datainsn_static_data
rtx ** operand_loc
rtx ** dup_loc
int * arg_hard_regs
bool * alternative_enabled_p
int used_insn_alternative
struct lra_insn_regregs

Detailed Description

   LRA internal info about an insn (LRA internal insn
   representation).  

Field Documentation

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.  

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