GCC Middle and Back End API Reference
operand_alternative Struct Reference

#include <recog.h>

Data Fields

const char * constraint
enum reg_class cl
unsigned int reject
int matches
int matched
unsigned int earlyclobber:1
unsigned int memory_ok:1
unsigned int offmem_ok:1
unsigned int nonoffmem_ok:1
unsigned int decmem_ok:1
unsigned int incmem_ok:1
unsigned int is_address:1
unsigned int anything_ok:1

Field Documentation

unsigned int operand_alternative::anything_ok
     Nonzero if 'X' was found in the constraint string, or if the constraint
     string for this alternative was empty.  

Referenced by extract_insn(), finish_insn_recog_data(), and process_alt_operands().

enum reg_class operand_alternative::cl
     The register class valid for this alternative (possibly NO_REGS).  

Referenced by build_def_use(), copyprop_hardreg_forward_1(), and replace_src_with_reg_ok_p().

const char* operand_alternative::constraint
     Pointer to the beginning of the constraint string for this alternative,
     for easier access by alternative number.  

Referenced by process_alt_operands().

unsigned int operand_alternative::decmem_ok
     Nonzero if '<' was found in the constraint string.  
unsigned int operand_alternative::earlyclobber
     Nonzero if '&' was found in the constraint string.  
unsigned int operand_alternative::incmem_ok
     Nonzero if '>' was found in the constraint string.  
unsigned int operand_alternative::is_address
     Nonzero if 'p' was found in the constraint string.  
int operand_alternative::matched
     The same information, but reversed: -1 if this operand is not
     matched by any other, or the operand number of the operand that
     matches this one.  
int operand_alternative::matches
     -1 if no matching constraint was found, or an operand number.  

Referenced by build_def_use(), copyprop_hardreg_forward_1(), and replace_src_with_reg_ok_p().

unsigned int operand_alternative::memory_ok
     Nonzero if TARGET_MEM_CONSTRAINT was found in the constraint
     string.  
unsigned int operand_alternative::nonoffmem_ok
     Nonzero if 'V' was found in the constraint string.  
unsigned int operand_alternative::offmem_ok
     Nonzero if 'o' was found in the constraint string.  
unsigned int operand_alternative::reject
     "Badness" of this alternative, computed from number of '?' and '!'
     characters in the constraint string.  

Referenced by reg_in_class_p().


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