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(), and copyprop_hardreg_forward_1().

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(), and copyprop_hardreg_forward_1().

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: