osprey/be/cg/register.h File Reference

#include "mtypes.h"
#include "targ_isa_registers.h"
#include "register_targ.h"

Include dependency graph for register.h:

Go to the source code of this file.

Data Types

union  class_reg_pair
type  class_reg_pair::class_reg_struct
type  REGISTER_CLASS_INFO
type  REGISTER_SUBCLASS_INFO

Defines

#define Set_CLASS_REG_PAIR_class_n_reg(x, cnr)   ((x).class_n_reg = (cnr))
#define CLASS_REG_PAIR_class_n_reg(x)   ((x).class_n_reg+0)
#define Set_CLASS_REG_PAIR_rclass(x, rc)   ((x).class_reg.rclass = (rc))
#define CLASS_REG_PAIR_rclass(x)   ((ISA_REGISTER_CLASS)(x).class_reg.rclass)
#define Set_CLASS_REG_PAIR_reg(x, r)   ((x).class_reg.reg = (r))
#define CLASS_REG_PAIR_reg(x)   ((x).class_reg.reg+0)
#define CREATE_CLASS_N_REG(rclass, reg)   ((mUINT16)(((reg)<<8)|(rclass)))
#define CONSTRUCT_CLASS_REG_PAIR(cl_reg_pair, rclass, reg)
#define REGISTER_SET_EMPTY_SET   ((REGISTER_SET)0)
#define REGISTER_SET_WORD   UINT32
#define REGISTER_SET_ELEM(set, idx)   (set)
#define REGISTER_SET_IDX(iv)
#define FOR_REGISTER_SET(init, test, incr)   if (0)
#define MAX_REGISTER_SET_IDX   (0)
#define REGISTER_SET_WORD_IDX(bit)   (0)
#define REGISTER_SET_BIT_IDX(bit)   (bit)
#define REGISTER_CLIENT_CONST   const
#define REGISTER_UNDEFINED   ((REGISTER) 0)
#define REGISTER_MIN   ((REGISTER) 1)
#define REGISTER_MAX   ((REGISTER) (ISA_REGISTER_MAX+REGISTER_MIN))
#define REGISTER_CLASS_reg_allocatable(x)   (REGISTER_CLASS_info[x].reg_allocatable)
#define REGISTER_CLASS_reg_machine_id(x)   (REGISTER_CLASS_info[x].reg_machine_id)
#define REGISTER_CLASS_reg_name(x)   (REGISTER_CLASS_info[x].reg_name)
#define REGISTER_CLASS_reg_bit_size(x)   (REGISTER_CLASS_info[x].reg_bit_size)
#define REGISTER_CLASS_name(x)   (REGISTER_CLASS_info[x].name)
#define REGISTER_CLASS_register_count(x)   (REGISTER_CLASS_info[x].register_count)
#define REGISTER_CLASS_universe(x)   (REGISTER_CLASS_info[x].universe)
#define REGISTER_CLASS_allocatable(x)   (REGISTER_CLASS_info[x].allocatable)
#define REGISTER_CLASS_caller_saves(x)   (REGISTER_CLASS_info[x].caller_saves)
#define REGISTER_CLASS_callee_saves(x)   (REGISTER_CLASS_info[x].callee_saves)
#define REGISTER_CLASS_stacked(x)   (REGISTER_CLASS_info[x].stacked)
#define REGISTER_CLASS_rotating(x)   (REGISTER_CLASS_info[x].rotating)
#define REGISTER_CLASS_function_value(x)   (REGISTER_CLASS_info[x].function_value)
#define REGISTER_CLASS_function_argument(x)   (REGISTER_CLASS_info[x].function_argument)
#define REGISTER_CLASS_shrink_wrap(x)   (REGISTER_CLASS_info[x].shrink_wrap)
#define REGISTER_CLASS_can_store(x)   (REGISTER_CLASS_info[x].can_store)
#define REGISTER_CLASS_multiple_save(x)   (REGISTER_CLASS_info[x].multiple_save)
#define REGISTER_CLASS_last_register(x)   (REGISTER_CLASS_register_count(x) + REGISTER_MIN - 1)
#define REGISTER_machine_id(rclass, reg)   (REGISTER_CLASS_reg_machine_id(rclass)[reg])
#define REGISTER_allocatable(rclass, reg)   (REGISTER_CLASS_reg_allocatable(rclass)[reg])
#define REGISTER_name(rclass, reg)   (REGISTER_CLASS_reg_name(rclass)[reg])
#define REGISTER_bit_size(rclass, reg)   (REGISTER_CLASS_reg_bit_size(rclass)[reg])
#define FOR_ALL_REGISTER_SET_members(set, reg)
#define REGISTER_SUBCLASS_name(x)   (REGISTER_SUBCLASS_info[x].name)
#define REGISTER_SUBCLASS_members(x)   (REGISTER_SUBCLASS_info[x].members)
#define REGISTER_SUBCLASS_register_class(x)   (REGISTER_SUBCLASS_info[x].rclass)
#define REGISTER_SUBCLASS_reg_name(x, reg)   (REGISTER_SUBCLASS_info[x].reg_name[reg])
#define REGISTER_zero   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_zero)
#define REGISTER_CLASS_zero   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_zero)
#define CLASS_AND_REG_zero   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_zero)
#define REGISTER_ep   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_ep)
#define REGISTER_CLASS_ep   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_ep)
#define CLASS_AND_REG_ep   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_ep)
#define REGISTER_gp   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_gp)
#define REGISTER_CLASS_gp   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_gp)
#define CLASS_AND_REG_gp   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_gp)
#define REGISTER_sp   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_sp)
#define REGISTER_CLASS_sp   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_sp)
#define CLASS_AND_REG_sp   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_sp)
#define REGISTER_fp   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_fp)
#define REGISTER_CLASS_fp   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_fp)
#define CLASS_AND_REG_fp   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_fp)
#define REGISTER_ra   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_ra)
#define REGISTER_CLASS_ra   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_ra)
#define CLASS_AND_REG_ra   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_ra)
#define REGISTER_v0   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_v0)
#define REGISTER_CLASS_v0   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_v0)
#define CLASS_AND_REG_v0   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_v0)
#define REGISTER_static_link   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_static_link)
#define REGISTER_CLASS_static_link   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_static_link)
#define CLASS_AND_REG_static_link   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_static_link)
#define REGISTER_pfs   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_pfs)
#define REGISTER_CLASS_pfs   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_pfs)
#define CLASS_AND_REG_pfs   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_pfs)
#define REGISTER_lc   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_lc)
#define REGISTER_CLASS_lc   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_lc)
#define CLASS_AND_REG_lc   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_lc)
#define REGISTER_ec   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_ec)
#define REGISTER_CLASS_ec   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_ec)
#define CLASS_AND_REG_ec   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_ec)
#define REGISTER_true   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_true)
#define REGISTER_CLASS_true   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_true)
#define CLASS_AND_REG_true   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_true)
#define REGISTER_fzero   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_fzero)
#define REGISTER_CLASS_fzero   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_fzero)
#define CLASS_AND_REG_fzero   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_fzero)
#define REGISTER_fone   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_fone)
#define REGISTER_CLASS_fone   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_fone)
#define CLASS_AND_REG_fone   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_fone)
#define REGISTER_c2movpat   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_c2movpat)
#define REGISTER_CLASS_c2movpat   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_c2movpat)
#define CLASS_AND_REG_c2movpat   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_c2movpat)
#define CLASS_REG_PAIR_EqualP(crp1, crp2)

Typedefs

typedef UINT REGISTER
typedef mUINT16 mREGISTER
typedef union class_reg_pair CLASS_REG_PAIR
typedef UINT32 REGISTER_SET

Functions/Subroutines

void Set_CLASS_REG_PAIR (CLASS_REG_PAIR &rp, ISA_REGISTER_CLASS rclass, REGISTER reg)
void REGISTER_Begin (void)
void REGISTER_Pu_Begin (void)
void REGISTER_Reset_FP (void)
void REGISTER_CLASS_OP_Update_Mapping (struct op *op)
BOOL REGISTER_SET_EqualP (REGISTER_SET set1, REGISTER_SET set2)
BOOL REGISTER_SET_EmptyP (REGISTER_SET set)
REGISTER_SET REGISTER_SET_Intersection (REGISTER_SET set1, REGISTER_SET set2)
REGISTER_SET REGISTER_SET_Union (REGISTER_SET set1, REGISTER_SET set2)
REGISTER_SET REGISTER_SET_Difference (REGISTER_SET set1, REGISTER_SET set2)
BOOL REGISTER_SET_IntersectsP (REGISTER_SET set1, REGISTER_SET set2)
BOOL REGISTER_SET_ContainsP (REGISTER_SET set1, REGISTER_SET set2)
REGISTER_SET REGISTER_SET_Difference1 (REGISTER_SET set, REGISTER reg)
REGISTER_SET REGISTER_SET_Union1 (REGISTER_SET set, REGISTER reg)
REGISTER_SET REGISTER_SET_Intersection1 (REGISTER_SET set, REGISTER reg)
BOOL REGISTER_SET_MemberP (REGISTER_SET set, REGISTER reg)
REGISTER_SET REGISTER_SET_Difference_Range (REGISTER_SET set, REGISTER low, REGISTER high)
REGISTER REGISTER_SET_Choose (REGISTER_SET set)
REGISTER REGISTER_SET_Choose_Next (REGISTER_SET set, REGISTER reg)
REGISTER REGISTER_SET_Choose_Range (REGISTER_SET set, REGISTER low, REGISTER high)
REGISTER REGISTER_SET_Choose_Intersection (REGISTER_SET set1, REGISTER_SET set2)
INT32 REGISTER_SET_Size (REGISTER_SET set)
void REGISTER_SET_Print (REGISTER_SET set, FILE *f)
void REGISTER_Print (ISA_REGISTER_CLASS rclass, REGISTER reg, FILE *f)
void CLASS_REG_PAIR_Print (CLASS_REG_PAIR crp, FILE *f)
void REGISTER_Trace (ISA_REGISTER_CLASS rclass, REGISTER reg)
void REGISTER_CLASS_Trace (ISA_REGISTER_CLASS rclass)
void REGISTER_CLASS_Trace_All (void)
void REGISTER_Set_Allocatable (ISA_REGISTER_CLASS rclass, REGISTER reg, BOOL is_allocatable)
REGISTER_SET REGISTER_SET_Range (UINT low, UINT high)
void Set_Register_Never_Allocatable (char *regname)
void Set_Register_Never_Allocatable (PREG_NUM preg)
ISA_REGISTER_CLASS Register_Class_For_Mtype (TYPE_ID mtype)
void Init_Mtype_RegClass_Map (void)

Variables

REGISTER_CLIENT_CONST
ISA_REGISTER_CLASS 
REGISTER_CLASS_vec [ISA_REGISTER_CLASS_MAX+1]
REGISTER_CLIENT_CONST
REGISTER_CLASS_INFO 
REGISTER_CLASS_info [ISA_REGISTER_CLASS_MAX+1]
REGISTER_CLIENT_CONST
REGISTER_SUBCLASS_INFO 
REGISTER_SUBCLASS_info [ISA_REGISTER_SUBCLASS_MAX+1]
CLASS_REG_PAIR CLASS_REG_PAIR_zero
CLASS_REG_PAIR CLASS_REG_PAIR_ep
CLASS_REG_PAIR CLASS_REG_PAIR_gp
CLASS_REG_PAIR CLASS_REG_PAIR_sp
CLASS_REG_PAIR CLASS_REG_PAIR_fp
CLASS_REG_PAIR CLASS_REG_PAIR_ra
CLASS_REG_PAIR CLASS_REG_PAIR_v0
CLASS_REG_PAIR CLASS_REG_PAIR_static_link
CLASS_REG_PAIR CLASS_REG_PAIR_pfs
CLASS_REG_PAIR CLASS_REG_PAIR_lc
CLASS_REG_PAIR CLASS_REG_PAIR_ec
CLASS_REG_PAIR CLASS_REG_PAIR_true
CLASS_REG_PAIR CLASS_REG_PAIR_fzero
CLASS_REG_PAIR CLASS_REG_PAIR_fone
CLASS_REG_PAIR CLASS_REG_PAIR_c2movpat
const CLASS_REG_PAIR CLASS_REG_PAIR_undef


Define Documentation

#define CLASS_AND_REG_c2movpat   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_c2movpat)

Definition at line 1115 of file register.h.

#define CLASS_AND_REG_ec   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_ec)

Definition at line 930 of file register.h.

#define CLASS_AND_REG_ep   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_ep)

Definition at line 870 of file register.h.

#define CLASS_AND_REG_fone   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_fone)

Definition at line 945 of file register.h.

#define CLASS_AND_REG_fp   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_fp)

Definition at line 892 of file register.h.

#define CLASS_AND_REG_fzero   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_fzero)

Definition at line 940 of file register.h.

#define CLASS_AND_REG_gp   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_gp)

Definition at line 875 of file register.h.

#define CLASS_AND_REG_lc   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_lc)

Definition at line 925 of file register.h.

#define CLASS_AND_REG_pfs   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_pfs)

Definition at line 920 of file register.h.

#define CLASS_AND_REG_ra   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_ra)

Definition at line 897 of file register.h.

#define CLASS_AND_REG_sp   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_sp)

Definition at line 880 of file register.h.

Referenced by op_defines_sp().

#define CLASS_AND_REG_static_link   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_static_link)

Definition at line 915 of file register.h.

#define CLASS_AND_REG_true   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_true)

Definition at line 935 of file register.h.

Referenced by CGTARG_Analyze_Branch().

#define CLASS_AND_REG_v0   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_v0)

Definition at line 902 of file register.h.

Referenced by Handle_INTRINSIC_CALL().

#define CLASS_AND_REG_zero   CLASS_REG_PAIR_class_n_reg(CLASS_REG_PAIR_zero)

Definition at line 865 of file register.h.

Referenced by CGTARG_Copy_Operand(), and EBO_Copy_Operand().

#define CLASS_REG_PAIR_class_n_reg (  )     ((x).class_n_reg+0)

Definition at line 626 of file register.h.

Referenced by operator<().

#define CLASS_REG_PAIR_EqualP ( crp1,
crp2   ) 

#define CLASS_REG_PAIR_rclass (  )     ((ISA_REGISTER_CLASS)(x).class_reg.rclass)

#define CLASS_REG_PAIR_reg (  )     ((x).class_reg.reg+0)

#define CONSTRUCT_CLASS_REG_PAIR ( cl_reg_pair,
rclass,
reg   ) 

Value:

Definition at line 637 of file register.h.

#define CREATE_CLASS_N_REG ( rclass,
reg   )     ((mUINT16)(((reg)<<8)|(rclass)))

Definition at line 636 of file register.h.

#define FOR_ALL_REGISTER_SET_members ( set,
reg   ) 

#define FOR_REGISTER_SET ( init,
test,
incr   )     if (0)

#define MAX_REGISTER_SET_IDX   (0)

#define REGISTER_allocatable ( rclass,
reg   )     (REGISTER_CLASS_reg_allocatable(rclass)[reg])

#define REGISTER_bit_size ( rclass,
reg   )     (REGISTER_CLASS_reg_bit_size(rclass)[reg])

#define REGISTER_c2movpat   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_c2movpat)

Definition at line 1113 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_CLASS_allocatable (  )     (REGISTER_CLASS_info[x].allocatable)

#define REGISTER_CLASS_c2movpat   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_c2movpat)

Definition at line 1114 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_CLASS_callee_saves (  )     (REGISTER_CLASS_info[x].callee_saves)

#define REGISTER_CLASS_caller_saves (  )     (REGISTER_CLASS_info[x].caller_saves)

#define REGISTER_CLASS_can_store (  )     (REGISTER_CLASS_info[x].can_store)

Definition at line 795 of file register.h.

Referenced by KEY_SCH::Gen_PKE(), Initialize_Register_Class(), and REGISTER_CLASS_Trace().

#define REGISTER_CLASS_ec   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_ec)

Definition at line 929 of file register.h.

#define REGISTER_CLASS_ep   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_ep)

Definition at line 869 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_CLASS_fone   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_fone)

Definition at line 944 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_CLASS_fp   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_fp)

Definition at line 891 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_CLASS_function_argument (  )     (REGISTER_CLASS_info[x].function_argument)

#define REGISTER_CLASS_function_value (  )     (REGISTER_CLASS_info[x].function_value)

#define REGISTER_CLASS_fzero   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_fzero)

Definition at line 939 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_CLASS_gp   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_gp)

Definition at line 874 of file register.h.

Referenced by Init_Dedicated_TNs(), and Setup_GP_TN_For_PU().

#define REGISTER_CLASS_last_register (  )     (REGISTER_CLASS_register_count(x) + REGISTER_MIN - 1)

#define REGISTER_CLASS_lc   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_lc)

Definition at line 924 of file register.h.

Referenced by LRANGE::Allowed_Registers(), and Init_Dedicated_TNs().

#define REGISTER_CLASS_multiple_save (  )     (REGISTER_CLASS_info[x].multiple_save)

#define REGISTER_CLASS_name (  )     (REGISTER_CLASS_info[x].name)

#define REGISTER_CLASS_pfs   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_pfs)

Definition at line 919 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_CLASS_ra   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_ra)

Definition at line 896 of file register.h.

Referenced by Convert_Goto_To_Return(), and Init_Dedicated_TNs().

#define REGISTER_CLASS_reg_allocatable (  )     (REGISTER_CLASS_info[x].reg_allocatable)

Definition at line 766 of file register.h.

#define REGISTER_CLASS_reg_bit_size (  )     (REGISTER_CLASS_info[x].reg_bit_size)

Definition at line 772 of file register.h.

#define REGISTER_CLASS_reg_machine_id (  )     (REGISTER_CLASS_info[x].reg_machine_id)

Definition at line 768 of file register.h.

#define REGISTER_CLASS_reg_name (  )     (REGISTER_CLASS_info[x].reg_name)

Definition at line 770 of file register.h.

#define REGISTER_CLASS_register_count (  )     (REGISTER_CLASS_info[x].register_count)

#define REGISTER_CLASS_rotating (  )     (REGISTER_CLASS_info[x].rotating)

#define REGISTER_CLASS_shrink_wrap (  )     (REGISTER_CLASS_info[x].shrink_wrap)

Definition at line 793 of file register.h.

Referenced by Initialize_Register_Class(), and REGISTER_CLASS_Trace().

#define REGISTER_CLASS_sp   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_sp)

Definition at line 879 of file register.h.

Referenced by Build_Fde_For_Proc(), Init_Dedicated_TNs(), and OP_Has_Restrictions().

#define REGISTER_CLASS_stacked (  )     (REGISTER_CLASS_info[x].stacked)

#define REGISTER_CLASS_static_link   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_static_link)

Definition at line 914 of file register.h.

#define REGISTER_CLASS_true   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_true)

Definition at line 934 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_CLASS_universe (  )     (REGISTER_CLASS_info[x].universe)

#define REGISTER_CLASS_v0   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_v0)

Definition at line 901 of file register.h.

#define REGISTER_CLASS_zero   CLASS_REG_PAIR_rclass(CLASS_REG_PAIR_zero)

Definition at line 864 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_CLIENT_CONST   const

Definition at line 710 of file register.h.

#define REGISTER_ec   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_ec)

Definition at line 928 of file register.h.

#define REGISTER_ep   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_ep)

Definition at line 868 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_fone   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_fone)

Definition at line 943 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_fp   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_fp)

Definition at line 890 of file register.h.

Referenced by EETARG_Init_Entry_Exit_Code(), and Init_Dedicated_TNs().

#define REGISTER_fzero   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_fzero)

Definition at line 938 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_gp   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_gp)

Definition at line 873 of file register.h.

Referenced by Init_Dedicated_TNs(), Init_TNs_For_PU(), and Setup_GP_TN_For_PU().

#define REGISTER_lc   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_lc)

Definition at line 923 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_machine_id ( rclass,
reg   )     (REGISTER_CLASS_reg_machine_id(rclass)[reg])

#define REGISTER_MAX   ((REGISTER) (ISA_REGISTER_MAX+REGISTER_MIN))

#define REGISTER_MIN   ((REGISTER) 1)

#define REGISTER_name ( rclass,
reg   )     (REGISTER_CLASS_reg_name(rclass)[reg])

#define REGISTER_pfs   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_pfs)

Definition at line 918 of file register.h.

Referenced by Analyze_OP_For_Unwind_Info(), and Init_Dedicated_TNs().

#define REGISTER_ra   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_ra)

#define REGISTER_SET_BIT_IDX ( bit   )     (bit)

#define REGISTER_SET_ELEM ( set,
idx   )     (set)

#define REGISTER_SET_EMPTY_SET   ((REGISTER_SET)0)

#define REGISTER_SET_IDX ( iv   ) 

#define REGISTER_SET_WORD   UINT32

#define REGISTER_SET_WORD_IDX ( bit   )     (0)

#define REGISTER_sp   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_sp)

#define REGISTER_static_link   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_static_link)

Definition at line 913 of file register.h.

#define REGISTER_SUBCLASS_members (  )     (REGISTER_SUBCLASS_info[x].members)

#define REGISTER_SUBCLASS_name (  )     (REGISTER_SUBCLASS_info[x].name)

Definition at line 851 of file register.h.

Referenced by Initialize_Register_Subclasses().

#define REGISTER_SUBCLASS_reg_name ( x,
reg   )     (REGISTER_SUBCLASS_info[x].reg_name[reg])

Definition at line 857 of file register.h.

Referenced by Initialize_Register_Subclasses(), and r_assemble_list().

#define REGISTER_SUBCLASS_register_class (  )     (REGISTER_SUBCLASS_info[x].rclass)

Definition at line 855 of file register.h.

Referenced by CGTARG_Gen_Dedicated_Subclass_TN(), and Initialize_Register_Subclasses().

#define REGISTER_true   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_true)

Definition at line 933 of file register.h.

Referenced by Init_Dedicated_TNs().

#define REGISTER_UNDEFINED   ((REGISTER) 0)

Definition at line 716 of file register.h.

Referenced by Alloc_Regs_For_BB(), Alloc_Stack_Reg(), Allocate_Register(), Allocate_Stacked_Register(), LRANGE::Allowed_Registers(), Analyze_Spilling_Global_Register(), Analyze_Spilling_Live_Range(), Assign_Prolog_Temps(), KEY_SCH::Assign_Register(), Assign_Registers(), Assign_Registers_For_OP(), Assign_Temp_Regs(), Assign_Virtual_Register(), Assign_Virtual_Registers(), BB_Verify_Reg_Alloc(), Can_OP_Move(), CG_DEP_Can_OP_Move_Across_Call(), CG_DEP_Prune_Dependence_Arcs(), CGEMIT_Register_Definitions(), CGTARG_Dependence_Required(), Check_Undefined_Results(), Choose_Best_Register(), Clear_Fat_Point_Calculation(), Consistency_Check(), Convert_Imm_Mul(), Convert_x87_Regs(), Create_GRA_BB_Call_Spill_Block(), Create_LR_For_TN(), Create_TN_Pair(), defop_for_op(), defop_get_reg_for_tn(), defop_set(), Dup_TN(), Dup_TN_Even_If_Dedicated(), EBO_Init(), EETARG_Init_Entry_Exit_Code(), KEY_SCH::Emit_TN(), Exp_Ldst(), Find_BB_TNs(), Get_Avail_Reg(), Get_Local_TN_For_Global(), SWP_REG_ASSIGNMENT::Get_Non_Rotating_Register_TN(), Handle_ASM(), has_assigned_reg(), Init_Callee_Saved_Regs_for_REGION(), Init_Live_LRs_Vector(), Is_Reg_Available(), LR_For_TN(), LRA_Allocate_Registers(), LRA_examine_last_op_needs(), LRA_TN_register(), Mark_Use(), OP_Has_Restrictions(), OP_Refs_TN_Reg(), Op_Uses_TN(), Preallocate_Single_Register_Subclasses(), r_assemble_list(), REGION_Entry_PREG_Whirl(), REGION_Exit_PREG_Whirl(), REGISTER_Allocate_Stacked_Register(), REGISTER_First_Rotating_Registers(), REGISTER_Last_Rotating_Registers(), REGISTER_Request_Stacked_Register(), REGISTER_SET_Choose_Engine(), REGISTER_SET_Choose_Next(), REGISTER_SET_Choose_Range(), REGISTER_SET_Print(), REGISTER_SET_Print_Name(), REGISTER_Translate_Stacked_Output(), Scan_Complement_BB_For_Referenced_TNs(), set_representative_tn(), Setup_GP_TN_For_PU(), Setup_Live_Ranges(), Single_Register_Subclass(), Spill_Live_Range(), sPrint_TN(), SWP_Emit(), TN_Defined_At_Op(), TN_Reaching_Value_At_Op(), tn_registers_identical(), TN_To_Assigned_PREG(), TNs_Are_Equivalent(), Update_Entry_For_TN(), and Verify_Operand().

#define REGISTER_v0   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_v0)

Definition at line 900 of file register.h.

#define REGISTER_zero   CLASS_REG_PAIR_reg(CLASS_REG_PAIR_zero)

Definition at line 863 of file register.h.

Referenced by Init_Dedicated_TNs().

#define Set_CLASS_REG_PAIR_class_n_reg ( x,
cnr   )     ((x).class_n_reg = (cnr))

Definition at line 625 of file register.h.

#define Set_CLASS_REG_PAIR_rclass ( x,
rc   )     ((x).class_reg.rclass = (rc))

Definition at line 627 of file register.h.

Referenced by Initialize_Register_Class(), and PR_To_CR().

#define Set_CLASS_REG_PAIR_reg ( x,
 )     ((x).class_reg.reg = (r))

Definition at line 629 of file register.h.

Referenced by Analyze_OP_For_Unwind_Info(), Initialize_Register_Class(), and PR_To_CR().


Typedef Documentation

typedef mUINT16 mREGISTER

Definition at line 610 of file register.h.

typedef UINT REGISTER

Definition at line 600 of file register.h.

Definition at line 653 of file register.h.


Function Documentation

void CLASS_REG_PAIR_Print ( CLASS_REG_PAIR  crp,
FILE f 
)

Definition at line 1095 of file register.cxx.

References CLASS_REG_PAIR_rclass, CLASS_REG_PAIR_reg, and REGISTER_Print().

void Init_Mtype_RegClass_Map ( void   ) 

void REGISTER_Begin ( void   ) 

ISA_REGISTER_CLASS Register_Class_For_Mtype ( TYPE_ID  mtype  )  [inline]

Definition at line 1415 of file register.h.

References MTYPE_LAST, and Mtype_RegClass_Map.

Referenced by Build_TN_Of_Mtype().

void REGISTER_CLASS_OP_Update_Mapping ( struct op op  ) 

void REGISTER_CLASS_Trace ( ISA_REGISTER_CLASS  rclass  ) 

void REGISTER_CLASS_Trace_All ( void   ) 

void REGISTER_Print ( ISA_REGISTER_CLASS  rclass,
REGISTER  reg,
FILE f 
)

Definition at line 1077 of file register.cxx.

References fprintf(), and REGISTER_name.

Referenced by CLASS_REG_PAIR_Print().

void REGISTER_Pu_Begin ( void   ) 

void REGISTER_Reset_FP ( void   ) 

void REGISTER_Set_Allocatable ( ISA_REGISTER_CLASS  rclass,
REGISTER  reg,
BOOL  is_allocatable 
)

REGISTER REGISTER_SET_Choose ( REGISTER_SET  set  ) 

REGISTER REGISTER_SET_Choose_Intersection ( REGISTER_SET  set1,
REGISTER_SET  set2 
)

REGISTER REGISTER_SET_Choose_Next ( REGISTER_SET  set,
REGISTER  reg 
)

REGISTER REGISTER_SET_Choose_Range ( REGISTER_SET  set,
REGISTER  low,
REGISTER  high 
)

BOOL REGISTER_SET_ContainsP ( REGISTER_SET  set1,
REGISTER_SET  set2 
) [inline]

Definition at line 1250 of file register.h.

References FALSE, FOR_REGISTER_SET, i, MAX_REGISTER_SET_IDX, REGISTER_SET_ELEM, and REGISTER_SET_IDX.

Referenced by Compensate_Stack().

REGISTER_SET REGISTER_SET_Difference ( REGISTER_SET  set1,
REGISTER_SET  set2 
) [inline]

REGISTER_SET REGISTER_SET_Difference1 ( REGISTER_SET  set,
REGISTER  reg 
) [inline]

REGISTER_SET REGISTER_SET_Difference_Range ( REGISTER_SET  set,
REGISTER  low,
REGISTER  high 
)

BOOL REGISTER_SET_EmptyP ( REGISTER_SET  set  )  [inline]

BOOL REGISTER_SET_EqualP ( REGISTER_SET  set1,
REGISTER_SET  set2 
) [inline]

REGISTER_SET REGISTER_SET_Intersection ( REGISTER_SET  set1,
REGISTER_SET  set2 
) [inline]

REGISTER_SET REGISTER_SET_Intersection1 ( REGISTER_SET  set,
REGISTER  reg 
) [inline]

BOOL REGISTER_SET_IntersectsP ( REGISTER_SET  set1,
REGISTER_SET  set2 
) [inline]

BOOL REGISTER_SET_MemberP ( REGISTER_SET  set,
REGISTER  reg 
) [inline]

void REGISTER_SET_Print ( REGISTER_SET  set,
FILE f 
)

REGISTER_SET REGISTER_SET_Range ( UINT  low,
UINT  high 
)

INT32 REGISTER_SET_Size ( REGISTER_SET  set  ) 

REGISTER_SET REGISTER_SET_Union ( REGISTER_SET  set1,
REGISTER_SET  set2 
) [inline]

REGISTER_SET REGISTER_SET_Union1 ( REGISTER_SET  set,
REGISTER  reg 
) [inline]

void REGISTER_Trace ( ISA_REGISTER_CLASS  rclass,
REGISTER  reg 
)

void Set_CLASS_REG_PAIR ( CLASS_REG_PAIR rp,
ISA_REGISTER_CLASS  rclass,
REGISTER  reg 
)

void Set_Register_Never_Allocatable ( PREG_NUM  preg  ) 

void Set_Register_Never_Allocatable ( char *  regname  ) 


Variable Documentation

Definition at line 117 of file register.cxx.

Definition at line 108 of file register.cxx.

Definition at line 120 of file register.cxx.

Definition at line 111 of file register.cxx.

Definition at line 119 of file register.cxx.

Definition at line 109 of file register.cxx.

Definition at line 116 of file register.cxx.

Referenced by PR_To_CR(), and Use_Spill_Record().

Definition at line 110 of file register.cxx.

Referenced by Analyze_OP_For_Unwind_Info(), and PR_To_CR().

Definition at line 114 of file register.cxx.

Definition at line 118 of file register.cxx.

Definition at line 164 of file register.cxx.

Definition at line 113 of file register.cxx.

Definition at line 107 of file register.cxx.

REGISTER_CLIENT_CONST REGISTER_CLASS_INFO REGISTER_CLASS_info[ISA_REGISTER_CLASS_MAX+1]

Definition at line 106 of file register.cxx.

Referenced by Is_Schedule_Worse().

REGISTER_CLIENT_CONST ISA_REGISTER_CLASS REGISTER_CLASS_vec[ISA_REGISTER_CLASS_MAX+1]

Definition at line 105 of file register.cxx.

REGISTER_CLIENT_CONST REGISTER_SUBCLASS_INFO REGISTER_SUBCLASS_info[ISA_REGISTER_SUBCLASS_MAX+1]

Definition at line 104 of file register.cxx.


Generated on Wed Apr 8 14:29:53 2009 for Open64 by  doxygen 1.5.6