GCC Middle and Back End API Reference
target_regs Struct Reference

#include <regs.h>

Data Fields

unsigned char x_hard_regno_nregs [FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE]
enum machine_mode x_reg_raw_mode [FIRST_PSEUDO_REGISTER]
bool x_have_regs_of_mode [MAX_MACHINE_MODE]
char x_contains_reg_of_mode [N_REG_CLASSES][MAX_MACHINE_MODE]
char x_direct_load [NUM_MACHINE_MODES]
char x_direct_store [NUM_MACHINE_MODES]
bool x_float_extend_from_mem [NUM_MACHINE_MODES][NUM_MACHINE_MODES]

Detailed Description

   Target-dependent globals.  

Field Documentation

char target_regs::x_contains_reg_of_mode[N_REG_CLASSES][MAX_MACHINE_MODE]
     1 if the corresponding class contains a register of the given mode.  
char target_regs::x_direct_load[NUM_MACHINE_MODES]
     Record for each mode whether we can move a register directly to or
     from an object of that mode in memory.  If we can't, we won't try
     to use that mode directly when accessing a field of that mode.  
char target_regs::x_direct_store[NUM_MACHINE_MODES]
bool target_regs::x_float_extend_from_mem[NUM_MACHINE_MODES][NUM_MACHINE_MODES]
     Record for each mode whether we can float-extend from memory.  
unsigned char target_regs::x_hard_regno_nregs[FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE]
     For each starting hard register, the number of consecutive hard
     registers that a given machine mode occupies.  
bool target_regs::x_have_regs_of_mode[MAX_MACHINE_MODE]
     Vector indexed by machine mode saying whether there are regs of
     that mode.  
enum machine_mode target_regs::x_reg_raw_mode[FIRST_PSEUDO_REGISTER]
     For each hard register, the widest mode object that it can contain.
     This will be a MODE_INT mode if the register can hold integers.  Otherwise
     it will be a MODE_FLOAT or a MODE_CC mode, whichever is valid for the
     register.  

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