Defines | Functions | Variables

cwh_addr.i File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define BIG_OFFSET(off)   (off > 0xffffffffLL)
#define HOST_ASSOCIATED(st)
#define BY_VALUE(t)
#define GET_ARRSECTION_RANK(a)   ((WN_kid_count(a)-1)/2) ;
#define FOREACH_AXIS(i, nk)   for(i = 1 ; i <= nk/2 ; i++)
#define SZ_OFF(rk)   0
#define SUB_OFF(rk)   (rk/2)
#define POINTER_TY   (Be_Type_Tbl(Pointer_Mtype))

Functions

static WNcwh_addr_add_bound (WN *ar, WN *sz, WN *sub)
static WNcwh_addr_array (OPCODE op, WN *ad, TY_IDX ty)
static WNcwh_addr_array1 (OPCODE op, WN *ad, TY_IDX ty, INT32 kidsnum)
static WNcwh_addr_triplet (WN *lb, WN *ub, WN *str)
static WNcwh_addr_src_triplet (WN *lb, WN *ub, WN *str)
static WNcwh_addr_zero_based (WN *sub, WN *lb)
static WNcwh_addr_do_bounds_check (WN *sb, WN *lb, WN *ex)
static void cwh_addr_insert_bounds_check (WN *assertion, WN *ar)
static BOOL cwh_addr_is_triplet (WN *wn)
static WNcwh_addr_iload (WN *wn, OFFSET_64 off, TY_IDX ty)
static WNcwh_addr_lda (ST *st, OFFSET_64 off, TY_IDX ty)
static WNcwh_addr_adjust_array (WN *wn, TY_IDX ty)
static WNcwh_addr_nonc_recast (WN *wt, WN *wa)
static void cwh_addr_access_flags (ST *, INT fg)
static BOOL cwh_addr_f90_pointer_reference_ls (WN *ls)
static W_node cwh_addr_substr_util (OFFSET_64 off, TY_IDX dty)

Variables

OPCODE opc_lda
OPCODE opc_call
OPCODE opc_array
OPCODE opc_section
OPCODE opc_triplet
OPCODE opc_src_triplet
OPCODE opc_pint
OPCODE opc_sint
TYPE_ID cwh_addr_char_len_typeid
TYPE_ID cwh_bound_int_typeid
TYPE_ID cwh_doloop_typeid
OPCODE Ldid_Opcode [MTYPE_LAST+1]
OPCODE Stid_Opcode [MTYPE_LAST+1]
OPCODE PStid_Opcode [MTYPE_LAST+1]
OPCODE Load_Opcode [MTYPE_LAST+1]
OPCODE Store_Opcode [MTYPE_LAST+1]
OPCODE PStore_Opcode [MTYPE_LAST+1]
static BOOL may_be_noncontig
static BOOL check_bounds_this_access
WN_MAP array_name_map

Define Documentation

#define BIG_OFFSET (   off  )     (off > 0xffffffffLL)
#define BY_VALUE (   t  ) 
Value:
((TY_kind(t) == KIND_SCALAR) || \
                     ((TY_kind(t) == KIND_POINTER) && (TY_kind(TY_pointed(t)) == KIND_FUNCTION)))

Definition at line 242 of file cwh_addr.i.

Referenced by cwh_addr_load_ST(), cwh_addr_pstore_ST(), and cwh_addr_store_ST().

#define FOREACH_AXIS (   i,
  nk 
)    for(i = 1 ; i <= nk/2 ; i++)
#define GET_ARRSECTION_RANK (   a  )     ((WN_kid_count(a)-1)/2) ;

Definition at line 247 of file cwh_addr.i.

#define HOST_ASSOCIATED (   st  ) 
Value:
((ST_level(st) < CURRENT_SYMTAB) &&   \
                             (ST_class(st) == CLASS_VAR)     &&   \
                             (ST_has_nested_ref(st)))

Definition at line 236 of file cwh_addr.i.

Referenced by cwh_addr_access_flags().

#define POINTER_TY   (Be_Type_Tbl(Pointer_Mtype))

Definition at line 283 of file cwh_addr.i.

#define SUB_OFF (   rk  )     (rk/2)
#define SZ_OFF (   rk  )     0

Function Documentation

static void cwh_addr_access_flags ( ST ,
INT  fg 
) [static]
static WN* cwh_addr_add_bound ( WN ar,
WN sz,
WN sub 
) [static]
static WN* cwh_addr_adjust_array ( WN wn,
TY_IDX  ty 
) [static]
static WN* cwh_addr_array ( OPCODE  op,
WN ad,
TY_IDX  ty 
) [static]
static WN* cwh_addr_array1 ( OPCODE  op,
WN ad,
TY_IDX  ty,
INT32  kidsnum 
) [static]
static WN* cwh_addr_do_bounds_check ( WN sb,
WN lb,
WN ex 
) [static]
static BOOL cwh_addr_f90_pointer_reference_ls ( WN ls  )  [static]
static WN* cwh_addr_iload ( WN wn,
OFFSET_64  off,
TY_IDX  ty 
) [static]
static void cwh_addr_insert_bounds_check ( WN assertion,
WN ar 
) [static]
static BOOL cwh_addr_is_triplet ( WN wn  )  [static]
static WN* cwh_addr_lda ( ST st,
OFFSET_64  off,
TY_IDX  ty 
) [static]
static WN* cwh_addr_nonc_recast ( WN wt,
WN wa 
) [static]
static WN* cwh_addr_src_triplet ( WN lb,
WN ub,
WN str 
) [static]
static W_node cwh_addr_substr_util ( OFFSET_64  off,
TY_IDX  dty 
) [static]
static WN* cwh_addr_triplet ( WN lb,
WN ub,
WN str 
) [static]
static WN* cwh_addr_zero_based ( WN sub,
WN lb 
) [static]

Variable Documentation

Definition at line 281 of file cwh_addr.i.

Referenced by PDGCS_do_proc(), and PDGCS_new_proc().

Definition at line 229 of file cwh_addr.i.

Referenced by cwh_addr_do_bounds_check(), and fei_subscr_size().

Definition at line 44 of file cwh_addr.i.

Referenced by cwh_addr_init_target(), cwh_auxst_add_dummy(), and cwh_types_character_extra().

Definition at line 46 of file cwh_addr.i.

Referenced by cwh_addr_init_target(), and fei_doloop().

OPCODE Ldid_Opcode[MTYPE_LAST+1]
Initial value:
 {
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_I4I1LDID,   
  OPC_I4I2LDID,   
  OPC_I4I4LDID,   
  OPC_I8I8LDID,   
  OPC_U4U1LDID,   
  OPC_U4U2LDID,   
  OPC_U4U4LDID,   
  OPC_U8U8LDID,   
  OPC_F4F4LDID,   
  OPC_F8F8LDID,   
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_FQFQLDID,   
  OPC_MMLDID,    
  OPC_C4C4LDID,   
  OPC_C8C8LDID,   
  OPC_CQCQLDID,   
  OPCODE_UNKNOWN     
}

Definition at line 64 of file cwh_addr.i.

Referenced by cwh_addr_mk_ldid().

OPCODE Load_Opcode[MTYPE_LAST+1]
Initial value:
 {
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_I4I1ILOAD,  
  OPC_I4I2ILOAD,  
  OPC_I4I4ILOAD,  
  OPC_I8I8ILOAD,  
  OPC_U4U1ILOAD,  
  OPC_U4U2ILOAD,  
  OPC_U4U4ILOAD,  
  OPC_U8U8ILOAD,  
  OPC_F4F4ILOAD,  
  OPC_F8F8ILOAD,  
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_FQFQILOAD,  
  OPC_MMILOAD,    
  OPC_C4C4ILOAD,  
  OPC_C8C8ILOAD,  
  OPC_CQCQILOAD,  
  OPCODE_UNKNOWN     
}

Definition at line 138 of file cwh_addr.i.

Referenced by addr_gen_iload_for_strctfld(), cwh_addr_iload(), and fei_field_dot().

Definition at line 224 of file cwh_addr.i.

Referenced by cwh_addr_fixup_nseq(), and fei_nseq_subscr().

Definition at line 36 of file cwh_addr.i.

Referenced by cwh_addr_init_target(), and cwh_inline_allocate().

Definition at line 42 of file cwh_addr.i.

Referenced by cwh_addr_init_target().

Definition at line 40 of file cwh_addr.i.

Referenced by cwh_addr_init_target(), cwh_addr_is_triplet(), and cwh_addr_src_triplet().

Definition at line 39 of file cwh_addr.i.

Referenced by cwh_addr_init_target(), cwh_addr_is_triplet(), and cwh_addr_triplet().

OPCODE PStid_Opcode[MTYPE_LAST+1]
Initial value:
 {
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_I1PSTID,     
  OPC_I2PSTID,     
  OPC_I4PSTID,     
  OPC_I8PSTID,     
  OPC_U1PSTID,     
  OPC_U2PSTID,     
  OPC_U4PSTID,     
  OPC_U8PSTID,     
  OPC_F4PSTID,     
  OPC_F8PSTID,     
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_FQPSTID,     
  OPC_MPSTID,    
  OPC_C4PSTID,     
  OPC_C8PSTID,     
  OPC_CQPSTID,     
  OPCODE_UNKNOWN     
}

Definition at line 113 of file cwh_addr.i.

Referenced by cwh_addr_pstid().

OPCODE PStore_Opcode[MTYPE_LAST+1]
Initial value:
 {
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_I1PSTORE,    
  OPC_I2PSTORE,    
  OPC_I4PSTORE,    
  OPC_I8PSTORE,    
  OPC_U1PSTORE,    
  OPC_U2PSTORE,    
  OPC_U4PSTORE,    
  OPC_U8PSTORE,    
  OPC_F4PSTORE,    
  OPC_F8PSTORE,    
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_FQPSTORE,    
  OPC_MPSTORE,    
  OPC_C4PSTORE,    
  OPC_C8PSTORE,    
  OPC_CQPSTORE,    
  OPCODE_UNKNOWN     
}

Definition at line 190 of file cwh_addr.i.

Referenced by cwh_addr_pstore().

OPCODE Stid_Opcode[MTYPE_LAST+1]
Initial value:
 {
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_I1STID,     
  OPC_I2STID,     
  OPC_I4STID,     
  OPC_I8STID,     
  OPC_U1STID,     
  OPC_U2STID,     
  OPC_U4STID,     
  OPC_U8STID,     
  OPC_F4STID,     
  OPC_F8STID,     
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_FQSTID,     
  OPC_MSTID,    
  OPC_C4STID,     
  OPC_C8STID,     
  OPC_CQSTID,     
  OPCODE_UNKNOWN     
}

Definition at line 88 of file cwh_addr.i.

Referenced by cwh_addr_pstid(), and cwh_addr_stid().

OPCODE Store_Opcode[MTYPE_LAST+1]
Initial value:
 {
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_I1ISTORE,    
  OPC_I2ISTORE,    
  OPC_I4ISTORE,    
  OPC_I8ISTORE,    
  OPC_U1ISTORE,    
  OPC_U2ISTORE,    
  OPC_U4ISTORE,    
  OPC_U8ISTORE,    
  OPC_F4ISTORE,    
  OPC_F8ISTORE,    
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPCODE_UNKNOWN,    
  OPC_FQISTORE,    
  OPC_MISTORE,    
  OPC_C4ISTORE,    
  OPC_C8ISTORE,    
  OPC_CQISTORE,    
  OPCODE_UNKNOWN     
}

Definition at line 164 of file cwh_addr.i.

Referenced by cwh_addr_istore().