GCC Middle and Back End API Reference
lra_static_insn_data Struct Reference

#include <lra-int.h>

Collaboration diagram for lra_static_insn_data:

Data Fields

struct lra_operand_dataoperand
int * dup_num
int commutative
char n_operands
char n_dups
char n_alternatives
struct lra_insn_reghard_regs
struct operand_alternativeoperand_alternative

Detailed Description

   Static part (common info for insns with the same ICODE) of LRA
   internal insn info. It exists in at most one exemplar for each
   non-negative ICODE. There is only one exception. Each asm insn has
   own structure.  Warning: if the structure definition is changed,
   the initializer for debug_insn_static_data in lra.c should be
   changed too.  

Field Documentation

int lra_static_insn_data::commutative
     The number of an operand marked as commutative, -1 otherwise.  
int* lra_static_insn_data::dup_num
     Each duplication refers to the number of the corresponding
     operand which is duplicated.  

Referenced by lra_emit_move().

struct lra_insn_reg* lra_static_insn_data::hard_regs
     Insns in machine description (or clobbers in asm) may contain
     explicit hard regs which are not operands.  The following list
     describes such hard registers.  
char lra_static_insn_data::n_alternatives
char lra_static_insn_data::n_dups

Referenced by lra_emit_move().

char lra_static_insn_data::n_operands
     Number of operands, duplications, and alternatives of the
     insn.  

Referenced by push_insns().

struct lra_operand_data* lra_static_insn_data::operand
     Static info about each insn operand.  

Referenced by init_op_alt_data(), insert_move_for_subreg(), process_alt_operands(), push_insns(), and valid_address_p().

struct operand_alternative* lra_static_insn_data::operand_alternative
     Array [n_alternatives][n_operand] of static constraint info for
     given operand in given alternative.  This info can be changed if
     the target reg info is changed.  

Referenced by free_insn_recog_data(), process_alt_operands(), and reg_in_class_p().


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