osprey/be/opt/opt_wn.h File Reference

#include "optimizer.h"
#include "defs.h"
#include "opt_defs.h"
#include "wn.h"
#include "opt_alias_interface.h"
#include "region_util.h"

Include dependency graph for opt_wn.h:

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

Go to the source code of this file.

Data Types

module  STMT_CONTAINER
module  STMT_ITER

Defines

#define opt_wn_INCLUDED   "opt_wn.h"
#define WN_Pragma_is_Parallel(pragma)

Typedefs

typedef struct pf_pointer PF_POINTER
typedef struct region_id RID

Enumerations

enum  WN_FLAG_TYPE {
  WN_ST_IS_SYM = 0, WN_ST_IS_AUX = 1, WN_ST_IS_VER = 2, WN_FLAG_ST_TYPE = 0x3,
  WN_FLAG_DO_LOOP = 0x8, WN_FLAG_PROMOTED_DO_LOOP = 0x16
}
enum  { SIGN_UNKNOWN = 0x0, SIGN_1_EXTD = 0x1, SIGN_0_EXTD = 0x2 }

Functions/Subroutines

void WN_init_flags (MEM_POOL *pool)
void WN_fini_flags (void)
void Set_wn_flags (WN *wn, INT32 flag)
INT32 Wn_flags (const WN *wn)
BOOL OPCODE_has_chi (OPCODE)
BOOL OPERATOR_has_chi (OPERATOR)
BOOL WN_has_chi (const WN *, REGION_LEVEL)
BOOL OPCODE_has_mu (OPCODE)
BOOL OPERATOR_has_mu (OPERATOR)
BOOL WN_has_mu (const WN *, REGION_LEVEL)
BOOL WN_has_ver (const WN *wn)
BOOL WN_has_aux (const WN *wn)
BOOL OPERATOR_has_aux (const OPERATOR opr)
BOOL OPCODE_has_aux (const OPCODE opc)
STWN_sym (const WN *wn)
AUX_ID WN_aux (const WN *wn)
VER_ID WN_ver (const WN *wn)
void WN_set_aux (WN *wn, AUX_ID s)
void WN_set_ver (WN *wn, VER_ID v)
INT32 Get_mtype_class (MTYPE)
OPCODE Ldid_from_mtype (MTYPE mtype)
MTYPE Mtype_from_mtype_class_and_size (INT mtype_class, INT bytes)
OPCODE Ldid_from_mtype_class_and_size (INT mtype_class, INT bytes)
OPCODE Stid_from_mtype_class_and_size (INT mtype_class, INT bytes)
void Init_lno_info_for_main_emitter (void)
INT32 WN_get_dep_graph_vertex (WN *)
void WN_detach_wn_from_dep_graph (INT32)
void WN_add_lno_info (WN *, CODEREP *)
void WN_dup_dep_vertex (WN *oldwn, WN *newwn)
void Print_dep_graph (FILE *)
PF_POINTERWN_get_pf_pointer (WN *wn)
void Print_pf_pointer (FILE *, PF_POINTER *)
BOOL Ilod_TY_is_volatile (TY_IDX)
BOOL Lod_TY_is_volatile (TY_IDX)
INT64 WN_get_const_val (WN *)
UINT Actual_data_size (CODEREP *cr, OPT_STAB *opt_stab, INT &signess)
BOOL No_truncation_by_value_size (MTYPE to_mtype, BOOL sign_extd, CODEREP *rhs, OPT_STAB *opt_stab, BOOL trace_phi=TRUE)
BOOL Is_hi_sign_extended (MTYPE result_ty, MTYPE desc_ty)
BOOL Is_lo_sign_extended (MTYPE result_ty, MTYPE desc_ty)
MTYPE Type_for_saved_load (BOOL hi_sign_ext, BOOL lo_sign_ext, MTYPE lod_type)
WNCreate_identity_assignment (AUX_STAB_ENTRY *sym, AUX_ID aux_id, TY_IDX ty)
TY_IDX Identity_assignment_type (AUX_STAB_ENTRY *sym, OPT_PHASE phase)
READ_WRITE Get_MP_modref (const WN *pragma_list, const POINTS_TO *pt, const ALIAS_RULE *rule)
WNGet_MP_accessed_id_list (const ST *st)
BOOL Op_can_be_propagated (OPCODE op, OPT_PHASE phase)
BOOL Is_region_with_pragma (WN *wn, WN_PRAGMA_ID pragma_id)
void Connect_cr_wn (WN_MAP *cr_wn_map, CODEREP *cr, WN *wn)
MTYPE Rebuild_rtype (MTYPE rtype, INT bits)
BOOL OPERATOR_is_fake (OPERATOR oper)
BOOL OPCODE_is_fake (OPCODE opc)
BOOL OPERATOR_is_volatile (OPERATOR oper)
BOOL OPCODE_is_volatile (OPCODE opc)
static BOOL OPERATOR_is_scalar_load (OPERATOR opr)
static BOOL OPERATOR_is_scalar_store (OPERATOR opr)
static BOOL OPERATOR_is_scalar_iload (OPERATOR opr)
static BOOL OPERATOR_is_scalar_istore (OPERATOR opr)
WNWN_copy (WN *wn)
WNWN_copy_with_map (WN *wn)
MTYPE Mtype_from_class_size (MTYPE t1, MTYPE t2)
void fdump_tree (FILE *f, WN *wn)
void fdump_wn (FILE *f, WN *wn)
void fdump_wn_no_st (FILE *fp, WN *wn)
void fdump_tree_no_st (FILE *fp, WN *wn)
void WN_copy_stmap (WN *src, WN *dst)


Define Documentation

#define opt_wn_INCLUDED   "opt_wn.h"

Definition at line 55 of file opt_wn.h.

#define WN_Pragma_is_Parallel ( pragma   ) 

Value:

(pragma == WN_PRAGMA_PARALLEL_BEGIN ||\
   pragma == WN_PRAGMA_PFOR_BEGIN ||\
   pragma == WN_PRAGMA_PDO_BEGIN ||\
   pragma == WN_PRAGMA_PARALLEL_DO ||\
   pragma == WN_PRAGMA_DOACROSS ||\
   pragma == WN_PRAGMA_SINGLE_PROCESS_BEGIN)

Definition at line 384 of file opt_wn.h.

Referenced by IVR::Find_parallel_pragma_stmt().


Typedef Documentation

Definition at line 79 of file opt_wn.h.

typedef struct region_id RID

Definition at line 80 of file opt_wn.h.


Enumeration Type Documentation

anonymous enum

Enumerator:
SIGN_UNKNOWN 
SIGN_1_EXTD 
SIGN_0_EXTD 

Definition at line 289 of file opt_wn.h.

Enumerator:
WN_ST_IS_SYM 
WN_ST_IS_AUX 
WN_ST_IS_VER 
WN_FLAG_ST_TYPE 
WN_FLAG_DO_LOOP 
WN_FLAG_PROMOTED_DO_LOOP 

Definition at line 176 of file opt_wn.h.


Function Documentation

UINT Actual_data_size ( CODEREP cr,
OPT_STAB opt_stab,
INT signess 
)

void Connect_cr_wn ( WN_MAP cr_wn_map,
CODEREP cr,
WN wn 
)

Definition at line 1686 of file opt_wn.cxx.

References WN_MAP_Set.

Referenced by Gen_exp_wn().

WN* Create_identity_assignment ( AUX_STAB_ENTRY sym,
AUX_ID  aux_id,
TY_IDX  ty 
)

void fdump_tree ( FILE f,
WN wn 
)

Definition at line 1663 of file ir_reader.cxx.

void fdump_tree_no_st ( FILE fp,
WN wn 
)

void fdump_wn ( FILE f,
WN wn 
)

Definition at line 1597 of file ir_reader.cxx.

void fdump_wn_no_st ( FILE fp,
WN wn 
)

WN* Get_MP_accessed_id_list ( const ST st  ) 

READ_WRITE Get_MP_modref ( const WN pragma_list,
const POINTS_TO pt,
const ALIAS_RULE rule 
)

INT32 Get_mtype_class ( MTYPE   ) 

TY_IDX Identity_assignment_type ( AUX_STAB_ENTRY sym,
OPT_PHASE  phase 
)

BOOL Ilod_TY_is_volatile ( TY_IDX   ) 

void Init_lno_info_for_main_emitter ( void   ) 

Definition at line 899 of file opt_wn.cxx.

References Current_Dep_Graph, and NULL.

BOOL Is_hi_sign_extended ( MTYPE  result_ty,
MTYPE  desc_ty 
)

Definition at line 1588 of file opt_wn.cxx.

References FALSE, Is_True, MTYPE_I4, MTYPE_is_integral, MTYPE_is_signed, MTYPE_size_min, and TRUE.

Referenced by Sign_extended().

BOOL Is_lo_sign_extended ( MTYPE  result_ty,
MTYPE  desc_ty 
)

Definition at line 1634 of file opt_wn.cxx.

References FALSE, Is_True, MTYPE_is_integral, MTYPE_is_signed, MTYPE_size_min, and TRUE.

Referenced by Sign_extended().

BOOL Is_region_with_pragma ( WN wn,
WN_PRAGMA_ID  pragma_id 
)

OPCODE Ldid_from_mtype ( MTYPE  mtype  ) 

OPCODE Ldid_from_mtype_class_and_size ( INT  mtype_class,
INT  bytes 
)

BOOL Lod_TY_is_volatile ( TY_IDX   ) 

MTYPE Mtype_from_class_size ( MTYPE  t1,
MTYPE  t2 
)

MTYPE Mtype_from_mtype_class_and_size ( INT  mtype_class,
INT  bytes 
)

BOOL No_truncation_by_value_size ( MTYPE  to_mtype,
BOOL  sign_extd,
CODEREP rhs,
OPT_STAB opt_stab,
BOOL  trace_phi = TRUE 
)

BOOL Op_can_be_propagated ( OPCODE  op,
OPT_PHASE  phase 
)

BOOL OPCODE_has_aux ( const OPCODE  opc  ) 

Definition at line 433 of file opt_wn.cxx.

References OPCODE_operator(), and OPERATOR_has_aux().

BOOL OPCODE_has_chi ( OPCODE   ) 

Definition at line 299 of file opt_wn.cxx.

References OPCODE_operator(), and OPERATOR_has_chi().

Referenced by WN_has_chi().

BOOL OPCODE_has_mu ( OPCODE   ) 

Definition at line 384 of file opt_wn.cxx.

References OPCODE_operator(), and OPERATOR_has_mu().

BOOL OPCODE_is_fake ( OPCODE  opc  ) 

BOOL OPCODE_is_volatile ( OPCODE  opc  ) 

BOOL OPERATOR_has_aux ( const OPERATOR  opr  ) 

BOOL OPERATOR_has_chi ( OPERATOR   ) 

BOOL OPERATOR_has_mu ( OPERATOR   ) 

BOOL OPERATOR_is_fake ( OPERATOR  oper  ) 

static BOOL OPERATOR_is_scalar_iload ( OPERATOR  opr  )  [inline, static]

static BOOL OPERATOR_is_scalar_istore ( OPERATOR  opr  )  [inline, static]

static BOOL OPERATOR_is_scalar_load ( OPERATOR  opr  )  [inline, static]

static BOOL OPERATOR_is_scalar_store ( OPERATOR  opr  )  [inline, static]

Definition at line 354 of file opt_wn.h.

References OPR_STBITS, and OPR_STID.

Referenced by DU_MANAGER::Add_Def_Use(), ALIAS_RULE::Aliased_with_Asm(), Aliased_with_region(), ETABLE::Bottom_up_stmt(), OPTCOUNT::Bottom_up_stmt(), Check_range(), ALIAS_CLASSIFICATION::Classify_lhs_of_store(), SSA::Collect_defs_bb(), PRUNE_BOUND::Collect_mod_use_sets(), EOCC::Collect_real_occurrences(), EMITTER::Compute_incomplete_defs(), EMITTER::Compute_use_def_stmt(), EMITTER::Compute_use_def_var(), EMITTER::Compute_use_def_zero_version_var(), Copy_alias_info(), COPYPROP::Copy_propagate(), OPT_STAB::Count_syms(), STR_RED::Determine_iv_update(), MEMOP_ANNOT_CR_SR_MGR::Discard_offline_annot(), COMP_UNIT::Do_copy_propagate(), Duplicate_alias_info(), OPT_STAB::Enter_occ_tab(), TRACK_CUR_VERSION::Enter_SR(), OPT_STAB::Enter_symbol(), TRACK_CUR_VERSION::Exit_SR(), CODEMAP::Expand_expr(), MEMOP_ANNOT_CR_SR_MGR::Export_annot(), ALIAS_CLASSIFICATION::Finalize_ac_map_wn(), OPT_STAB::Find_Based_Pointer(), Find_cur_cr(), DEFREP::Find_def_stmt(), DEFREP::Find_def_stmt_in_same_bb(), CSE::Find_injury_update(), SSU::Find_intervening_iphi(), STR_RED::Find_real_defs_rhs(), LFTR::Find_SR_tempcr(), CODEREP::Get_ivar_vsym(), ALIAS_CLASSIFICATION::Handle_assignment(), AUX_STAB_ENTRY::Has_def_by_const(), Has_overlapping_liverange(), COPYPROP::Identical_phi_opnd(), Insert_delete_phi(), SSU::Iphi_insertion(), DSE::Is_deleted_statement(), Is_identity_asgn(), STMTREP::Is_identity_assignment_removable(), Is_PREG_ldst(), SSU::Make_diff_ssu_version(), DCE::Mark_coderep_live(), DCE::Mark_return_vsym_chi_live(), DCE::Mark_statement_live(), DCE::Mark_statements_dead(), mod_iter(), No_truncation_by_value_size(), OPERATOR_has_aux(), ETABLE::Perform_deferred_ocopy_and_get_new_exprs(), STMTREP::Points_to(), STMTREP::Redefines_var(), SSA::Rename(), SSU::Rename(), SSA::Rename_rhs(), LFTR::Replace_comparison(), ETABLE::Replace_occurs(), DCE::Required_istore(), DCE::Required_stmt(), DCE::Required_store(), DSE::Same_memloc(), EXP_OCCURS::Set_occurs_as_lvalue(), DSE::Set_Required_CHI(), DU_MANAGER::Set_value_restored(), ETABLE::SPRE_rename(), ETABLE::Stmt_is_redundant(), COPYPROP::Strictly_identical_phi_opnd(), OPT_STAB::Transfer_alias_class_to_occ_and_aux(), OPT_STAB::Update_iload_vsym(), DSE::Update_MU_list_for_call(), SSA::Value_number(), COPYPROP::Var_has_as_value_on_the_other_path(), and WN_has_ver().

BOOL OPERATOR_is_volatile ( OPERATOR  oper  ) 

void Print_dep_graph ( FILE  ) 

Definition at line 908 of file opt_wn.cxx.

References Current_Dep_Graph, and NULL.

Referenced by ML_WHIRL_EMITTER::Emit().

void Print_pf_pointer ( FILE ,
PF_POINTER  
)

MTYPE Rebuild_rtype ( MTYPE  rtype,
INT  bits 
)

void Set_wn_flags ( WN wn,
INT32  flag 
)

Definition at line 410 of file opt_wn.cxx.

References _wn_flag_map, and WN_MAP32_Set.

Referenced by NORMALIZE_LOOP::Normalize_do_loop(), WN_set_aux(), and WN_set_ver().

OPCODE Stid_from_mtype_class_and_size ( INT  mtype_class,
INT  bytes 
)

MTYPE Type_for_saved_load ( BOOL  hi_sign_ext,
BOOL  lo_sign_ext,
MTYPE  lod_type 
)

Definition at line 1659 of file opt_wn.cxx.

References FALSE, Is_True, MTYPE_I4, MTYPE_I8, MTYPE_size_min, MTYPE_U4, and MTYPE_U8.

void WN_add_lno_info ( WN ,
CODEREP  
)

AUX_ID WN_aux ( const WN wn  ) 

WN* WN_copy ( WN wn  ) 

Definition at line 219 of file opt_wn.cxx.

References WN_COPY_Tree().

Referenced by CFG::Lower_do_loop(), and CFG::Lower_while_do().

void WN_copy_stmap ( WN src,
WN dst 
)

WN* WN_copy_with_map ( WN wn  ) 

void WN_detach_wn_from_dep_graph ( INT32   ) 

Definition at line 928 of file opt_wn.cxx.

References Current_Dep_Graph, and NULL.

Referenced by OPT_STAB::Enter_occ_tab().

void WN_dup_dep_vertex ( WN oldwn,
WN newwn 
)

void WN_fini_flags ( void   ) 

Definition at line 396 of file opt_wn.cxx.

References _wn_flag_map, and WN_MAP_Delete.

Referenced by COMP_UNIT::~COMP_UNIT().

INT32 Wn_flags ( const WN wn  ) 

INT64 WN_get_const_val ( WN  ) 

INT32 WN_get_dep_graph_vertex ( WN  ) 

Definition at line 917 of file opt_wn.cxx.

References Current_Dep_Graph, and NULL.

Referenced by OPT_STAB::Enter_occ_tab().

PF_POINTER* WN_get_pf_pointer ( WN wn  ) 

Definition at line 999 of file opt_wn.cxx.

References WN_MAP_Get, and WN_MAP_PREFETCH.

Referenced by OPT_STAB::Enter_occ_tab().

BOOL WN_has_aux ( const WN wn  ) 

Definition at line 440 of file opt_wn.cxx.

References OPERATOR_has_aux(), and WN_operator().

Referenced by OPT_STAB::Convert_EH_pragmas().

BOOL WN_has_chi ( const WN ,
REGION_LEVEL   
)

BOOL WN_has_mu ( const WN ,
REGION_LEVEL   
)

BOOL WN_has_ver ( const WN wn  ) 

void WN_init_flags ( MEM_POOL pool  ) 

Definition at line 391 of file opt_wn.cxx.

References _wn_flag_map, and WN_MAP32_Create.

Referenced by COMP_UNIT::COMP_UNIT().

void WN_set_aux ( WN wn,
AUX_ID  s 
)

void WN_set_ver ( WN wn,
VER_ID  v 
)

ST* WN_sym ( const WN wn  ) 

VER_ID WN_ver ( const WN wn  ) 


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