GCC Middle and Back End API Reference
lra_operand_data Struct Reference

#include <lra-int.h>

Collaboration diagram for lra_operand_data:

Data Fields

const char * constraint
ENUM_BITFIELD(machine_mode)
mode ENUM_BITFIELD(op_type)
type unsigned int 
strict_low: 1
unsigned int is_operator: 1
unsigned int early_clobber: 1
unsigned int is_address: 1

Detailed Description

   Static info about each insn operand (common for all insns with the
   same ICODE).  Warning: if the structure definition is changed, the
   initializer for debug_operand_data in lra.c should be changed
   too.  

Field Documentation

const char* lra_operand_data::constraint
     The machine description constraint string of the operand.  

Referenced by init_op_alt_data(), and valid_address_p().

unsigned int lra_operand_data::early_clobber
     True if there is an early clobber alternative for this operand.
     This field is set up every time when corresponding
     operand_alternative in lra_static_insn_data is set up.  

Referenced by process_alt_operands().

unsigned int lra_operand_data::is_address
     True if the operand is an address.  

Referenced by init_op_alt_data().

unsigned int lra_operand_data::is_operator
     True if the operand is an operator.  

Referenced by init_op_alt_data().

ENUM_BITFIELD (machine_mode) mode ENUM_BITFIELD (op_type) type unsigned int lra_operand_data::strict_low
     It is taken only from machine description (which is different
     from recog_data.operand_mode) and can be of VOIDmode.  
     The type of the operand (in/out/inout).  
     Through if accessed through STRICT_LOW.  

Referenced by init_op_alt_data(), and process_alt_operands().


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