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


Go to the source code of this file.
| #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 struct pf_pointer PF_POINTER |
| anonymous enum |
| enum WN_FLAG_TYPE |
Definition at line 1167 of file opt_wn.cxx.
References Actual_data_size(), CODEREP::Aux_id(), OPT_STAB::Aux_stab_entry(), CODEREP::Bit_size(), AUX_STAB_ENTRY::Bit_size(), CK_CONST, CK_IVAR, CK_OP, CK_VAR, CLASS_PREG, CODEREP::Const_val(), CODEREP::Dsctyp(), CODEREP::Dtyp(), CODEREP::I_bit_size(), INT, INT64, CODEREP::Is_sign_extd(), AUX_STAB_ENTRY::Is_sign_extd(), AUX_STAB_ENTRY::Is_zero_extd(), CODEREP::Kind(), MIN, MTYPE_CLASS_INTEGER, MTYPE_is_signed, MTYPE_is_unsigned, MTYPE_size_min, MTYPE_type_class, CODEREP::Offset(), CODEREP::Op(), OPC_I4I8CVT, OPC_I4U8CVT, OPC_I8U4CVT, OPC_U4I8CVT, OPC_U4U8CVT, OPC_U8U4CVT, OPERATOR_is_scalar_iload(), CODEREP::Opnd(), CODEREP::Opr(), OPR_ASHR, OPR_BAND, OPR_CVT, OPR_CVTL, OPR_ILDBITS, OPR_LSHR, SIGN_0_EXTD, SIGN_1_EXTD, AUX_STAB_ENTRY::St(), ST_class, UINT, val, and AUX_STAB_ENTRY::Value_size().
| WN* Create_identity_assignment | ( | AUX_STAB_ENTRY * | sym, | |
| AUX_ID | aux_id, | |||
| TY_IDX | ty | |||
| ) |
Definition at line 1387 of file opt_wn.cxx.
References AUX_STAB_ENTRY::Bit_ofst(), AUX_STAB_ENTRY::Bit_size(), AUX_STAB_ENTRY::Byte_size(), bytes, copy, AUX_STAB_ENTRY::Field_id(), INT, Ldid_from_mtype_class_and_size(), AUX_STAB_ENTRY::Mclass(), AUX_STAB_ENTRY::Mtype(), MTYPE_BS, MTYPE_is_unsigned, MTYPE_M, Mtype_TransferSign(), MTYPE_U4, MTYPE_V, OPCODE_desc(), OPCODE_make_op(), OPCODE_rtype(), OPR_LDBITS, OPR_LDID, OPR_STBITS, OPR_STID, AUX_STAB_ENTRY::St(), AUX_STAB_ENTRY::St_ofst(), Stid_from_mtype_class_and_size(), TYPE_ID, WN_CreateLdid, WN_CreateStid, WN_field_id(), WN_load_offset(), WN_offset(), WN_set_aux(), WN_set_bit_offset_size(), WN_set_desc(), WN_set_field_id(), WN_set_operator(), WN_set_ty(), and WN_ty().
Referenced by SSA::Insert_identity_assignment_4_loopexit().
Definition at line 1663 of file ir_reader.cxx.
Definition at line 1686 of file ir_reader.cxx.
Referenced by OPT_TAIL::Create_top_label(), DSE::Dead_store_elim(), ALIAS_CLASSIFICATION::Dump_wn_tree(), SSA::Find_zero_versions(), STMT_ITER::Print(), OCC_TAB_ENTRY::Print(), RESTRICTED_MAP::Restore_info(), DSE::Set_Required_CHI(), and OPT_STAB::Transfer_alias_class_to_occ_and_aux().
Definition at line 1597 of file ir_reader.cxx.
Definition at line 1639 of file ir_reader.cxx.
Referenced by ALIAS_CLASSIFICATION::Dump_wn(), STMT_ITER::Print(), ALIAS_CLASS_MEMBER::Print(), and Verify_alias().
Definition at line 1533 of file opt_wn.cxx.
References Current_PU_Info, NULL, PU_Info_child, PU_Info_next, PU_Info_proc_sym, PU_Info_state, PU_Info_tree_ptr, ST_st_idx, Subsect_InMem, WN_func_varrefs, and WT_TREE.
Referenced by OPT_STAB::Add_nested_call_mu_chi(), and ALIAS_CLASSIFICATION::Handle_call_of_nested_PU().
| READ_WRITE Get_MP_modref | ( | const WN * | pragma_list, | |
| const POINTS_TO * | pt, | |||
| const ALIAS_RULE * | rule | |||
| ) |
Definition at line 1467 of file opt_wn.cxx.
References ACCESSED_ILOAD, ACCESSED_ISTORE, ACCESSED_LOAD, ACCESSED_STORE, Alias_Pointer_Parms, ALIAS_RULE::Aliased_Memop(), POINTS_TO::Base(), base, POINTS_TO::Base_is_fixed(), BASE_IS_FIXED, BASE_IS_UNKNOWN, POINTS_TO::Const(), Expand_ST_into_base_and_ofst(), EXPR_IS_ADDR, POINTS_TO::Init(), Is_True, mINT64, NO_READ_NO_WRITE, NULL, OFST_IS_FIXED, READ, READ_AND_WRITE, SCLASS_FORMAL, POINTS_TO::Set_base(), POINTS_TO::Set_base_kind(), POINTS_TO::Set_based_sym(), POINTS_TO::Set_bit_ofst_size(), POINTS_TO::Set_byte_ofst(), POINTS_TO::Set_byte_size(), POINTS_TO::Set_expr_kind(), POINTS_TO::Set_F_param(), POINTS_TO::Set_global(), POINTS_TO::Set_named(), POINTS_TO::Set_ofst_kind(), ST_sclass, ST_type, TY_size, Warn_todo(), wn, WN_first(), WN_next(), WN_pragma(), WN_PRAGMA_ACCESSED_ID, WN_pragma_arg2(), and WN_st().
Referenced by OPT_STAB::Add_nested_call_mu_chi().
Definition at line 520 of file opt_wn.cxx.
References INT32, MTYPE_CLASS_INTEGER, MTYPE_CLASS_UNSIGNED, MTYPE_CLASS_UNSIGNED_INTEGER, and MTYPE_type_class.
Referenced by CODEMAP::Canon_cvt(), OPT_STAB::Convert_ST_to_AUX(), CR_match_kids(), OPT_STAB::Create_preg(), STMTREP::Enter_lhs(), OPT_STAB::Enter_symbol(), CODEMAP::Iload_folded(), EXP_WORKLST::Is_the_same_as(), CODEREP::Match(), and CODEREP::Same_bitpos().
| TY_IDX Identity_assignment_type | ( | AUX_STAB_ENTRY * | sym, | |
| OPT_PHASE | phase | |||
| ) |
Definition at line 1329 of file opt_wn.cxx.
References AUX_STAB_ENTRY::Bit_size(), AUX_STAB_ENTRY::Byte_size(), AUX_STAB_ENTRY::Field_id(), Is_Simple_Type(), Is_Structure_Type(), KIND_ARRAY, MAINOPT_PHASE, AUX_STAB_ENTRY::Mclass(), AUX_STAB_ENTRY::Mtype(), mtype, Mtype_from_mtype_class_and_size(), MTYPE_is_unsigned, MTYPE_is_vector, MTYPE_M, MTYPE_To_TY, Mtype_TransferSign(), MTYPE_U4, MTYPE_UNKNOWN, AUX_STAB_ENTRY::St(), ST_type, TY_align, TY_AR_etype, TY_IDX_ZERO, TY_kind, and TY_size.
Referenced by SSA::Insert_identity_assignment_4_loopexit().
Definition at line 1082 of file opt_wn.cxx.
References FALSE, Lod_TY_is_volatile(), TRUE, TY_IDX_ZERO, TY_is_volatile, and TY_pointed.
Referenced by CODEREP::Is_ivar_volatile(), DSE::Required_istore(), DSE::Required_load(), and SSA::Value_number().
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().
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 | |||
| ) |
Definition at line 1572 of file opt_wn.cxx.
References FALSE, FOR_ALL_ELEM, Init, OPR_PRAGMA, TRUE, WN_first(), WN_last(), WN_operator(), WN_pragma(), and WN_region_pragmas.
Referenced by CFG::Add_one_region(), OPT_STAB::Convert_ST_to_AUX(), NORMALIZE_LOOP::Is_outermost_loop_in_parallel_region(), and NORMALIZE_LOOP::Is_pdo_loop().
Definition at line 540 of file opt_wn.cxx.
References FALSE, FmtAssert, MTYPE_B, MTYPE_C10, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F10, MTYPE_F16, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_M, Mtype_Name(), MTYPE_STRING, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, MTYPE_UNKNOWN, MTYPE_V, OPC_C10C10LDID, OPC_C4C4LDID, OPC_C8C8LDID, OPC_CQCQLDID, OPC_F10F10LDID, OPC_F4F4LDID, OPC_F8F8LDID, OPC_FQFQLDID, OPC_I4I1LDID, OPC_I4I2LDID, OPC_I4I4LDID, OPC_I8I8LDID, OPC_U4U1LDID, OPC_U4U2LDID, OPC_U4U4LDID, OPC_U8U8LDID, and OPCODE_UNKNOWN.
Referenced by ML_WHIRL_EMITTER::Build_loop_info(), OPT_REVISE_SSA::Form_extract_compose(), OPT_REVISE_SSA::Insert_mu_and_chi_list_for_new_var(), OPT_REVISE_SSA::Update_chi_list_for_old_var(), and OPT_REVISE_SSA::Update_phis().
Definition at line 702 of file opt_wn.cxx.
References Delay_U64_Lowering, FALSE, FmtAssert, MTYPE_CLASS_COMPLEX, MTYPE_CLASS_FLOAT, MTYPE_CLASS_INTEGER, MTYPE_CLASS_UNSIGNED, MTYPE_CLASS_VECTOR, Only_Unsigned_64_Bit_Ops, OPC_C10C10LDID, OPC_C4C4LDID, OPC_C8C8LDID, OPC_CQCQLDID, OPC_F10F10LDID, OPC_F4F4LDID, OPC_F8F8LDID, OPC_FQFQLDID, OPC_I4I1LDID, OPC_I4I2LDID, OPC_I4I4LDID, OPC_I8I8LDID, OPC_U4U1LDID, OPC_U4U2LDID, OPC_U4U4LDID, OPC_U8U8LDID, and OPCODE_UNKNOWN.
Referenced by Create_identity_assignment().
Definition at line 1061 of file opt_wn.cxx.
References FALSE, FLD_last_field(), FLD_type, KIND_STRUCT, Lod_TY_is_volatile(), Make_fld_iter(), TRUE, TY_fld, TY_IDX_ZERO, TY_is_volatile, and TY_kind.
Referenced by CODEMAP::Add_expr(), Ilod_TY_is_volatile(), Lod_TY_is_volatile(), DSE::Required_load(), and DSE::Required_stid().
Definition at line 224 of file opt_wn.cxx.
References FALSE, Is_True, MTYPE_BS, MTYPE_CLASS_UNSIGNED_INTEGER, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_is_vector, MTYPE_signed, MTYPE_size_best, MTYPE_type_class, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, and MTYPE_V.
Referenced by STMTREP::Enter_lhs(), and RVI_NODE::Mtype().
Definition at line 603 of file opt_wn.cxx.
References Delay_U64_Lowering, FALSE, FmtAssert, MTYPE_C10, MTYPE_C4, MTYPE_C8, MTYPE_CLASS_COMPLEX, MTYPE_CLASS_FLOAT, MTYPE_CLASS_INTEGER, MTYPE_CLASS_UNSIGNED, MTYPE_CLASS_VECTOR, MTYPE_CQ, MTYPE_F10, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, MTYPE_UNKNOWN, and Only_Unsigned_64_Bit_Ops.
Referenced by SSA::Du2cr(), OPT_REVISE_SSA::Form_extract(), OPT_REVISE_SSA::Form_extract_compose(), SSA::Get_zero_version_CR(), Identity_assignment_type(), OPT_REVISE_SSA::Insert_mu_and_chi_list_for_new_var(), LFTR::Replace_comparison(), OPT_REVISE_SSA::Update_chi_list_for_old_var(), and OPT_REVISE_SSA::Update_phis().
| BOOL No_truncation_by_value_size | ( | MTYPE | to_mtype, | |
| BOOL | sign_extd, | |||
| CODEREP * | rhs, | |||
| OPT_STAB * | opt_stab, | |||
| BOOL | trace_phi = TRUE | |||
| ) |
Definition at line 199 of file opt_cse.cxx.
References Actual_data_size(), CODEREP::Aux_id(), OPT_STAB::Aux_stab_entry(), BOOL, CF_DEF_BY_CHI, CF_DEF_BY_PHI, CF_IS_ZERO_VERSION, CK_VAR, CLASS_PREG, CODEREP::Defphi(), CODEREP::Defstmt(), CODEREP::Dsctyp(), CODEREP::Dtyp(), FALSE, FmtAssert, i, INT, CODEREP::Is_flag_set(), CODEREP::Is_sign_extd(), AUX_STAB_ENTRY::Is_sign_extd(), PHI_NODE::Is_size_visited(), STMTREP::Is_size_visited(), AUX_STAB_ENTRY::Is_zero_extd(), CODEREP::Kind(), MTYPE_is_integral, MTYPE_size_min, No_truncation_by_value_size(), NULL, OPERATOR_is_scalar_store(), PHI_NODE::OPND(), opnd, STMTREP::Opr(), PHI_NODE::Reset_size_visited(), STMTREP::Reset_size_visited(), STMTREP::Rhs(), PHI_NODE::Set_size_visited(), STMTREP::Set_size_visited(), SIGN_0_EXTD, SIGN_1_EXTD, PHI_NODE::Size(), AUX_STAB_ENTRY::St(), ST_class, TRUE, and AUX_STAB_ENTRY::Value_size().
Referenced by AUX_STAB_ENTRY::Change_to_new_preg(), CODEREP::Convert_type(), Gen_exp_wn(), No_truncation_by_value_size(), and ETABLE::Save_replace_rhs_by_preg().
Definition at line 1548 of file opt_wn.cxx.
References FALSE, MAINOPT_PHASE, MTYPE_is_float, MTYPE_IS_INTEGER, OPCODE_desc(), OPCODE_operator(), OPCODE_rtype(), OPR_DIV, OPR_EQ, OPR_GE, OPR_GT, OPR_LE, OPR_LT, OPR_NE, OPR_REM, TRUE, WOPT_Enable_Copy_Prop_LNO_Ops, and WOPT_Enable_CSE_FP_comparison.
Referenced by COPYPROP::Propagatable(), CODEREP::Propagatable_for_ivr(), and COPYPROP::Propagatable_thru_phis().
Definition at line 299 of file opt_wn.cxx.
References OPCODE_operator(), and OPERATOR_has_chi().
Referenced by WN_has_chi().
Definition at line 1703 of file opt_wn.cxx.
References OPCODE_operator(), and OPERATOR_is_fake().
Referenced by VALNUM_FRE::_get_occur_cr(), VN::_valnum_op(), VN::_valnum_stmt(), CODEMAP::Add_expr(), ETABLE::Bottom_up_stmt(), STMTREP::Contains_volatile_ref(), ETABLE::Find_new_1st_order_exprs(), ETABLE::LPRE_bottom_up_stmt(), ETABLE::No_replace(), ETABLE::Replace_occurs(), and traverseSR().
Definition at line 1724 of file opt_wn.cxx.
References OPCODE_operator(), and OPERATOR_is_volatile().
Referenced by VN::_valnum_vn_expr(), ETABLE::Append_real_occurrence(), ETABLE::Bottom_up_cr(), CODEMAP::Hash_Op(), ETABLE::Insert_real_occurrence(), CODEREP::Propagatable_for_ivr(), and ETABLE::Recursive_rehash_and_replace().
Definition at line 426 of file opt_wn.cxx.
References OPERATOR_is_scalar_load(), OPERATOR_is_scalar_store(), and OPR_LDA.
Referenced by ALIAS_CLASSIFICATION::Classify_deref_of_expr(), OPT_STAB::Convert_IO_statement(), OPT_STAB::Convert_ST_to_AUX(), Copy_addr_expr(), OPT_STAB::Count_syms(), Get_symbol_info_for_cvt_io(), OPCODE_has_aux(), VER_STAB_ENTRY::Print_use(), OPT_STAB::Remap_aux_synonym(), and WN_has_aux().
Definition at line 274 of file opt_wn.cxx.
References FALSE, OPR_ASM_STMT, OPR_BACKWARD_BARRIER, OPR_CALL, OPR_DEALLOCA, OPR_FORWARD_BARRIER, OPR_ICALL, OPR_INTRINSIC_CALL, OPR_IO, OPR_ISTBITS, OPR_ISTORE, OPR_ISTOREX, OPR_MSTORE, OPR_OPT_CHI, OPR_REGION, OPR_STBITS, OPR_STID, and TRUE.
Referenced by STMTREP::Has_chi(), and OPCODE_has_chi().
Definition at line 356 of file opt_wn.cxx.
References FALSE, OPR_ASM_STMT, OPR_BACKWARD_BARRIER, OPR_CALL, OPR_FORWARD_BARRIER, OPR_ICALL, OPR_ILDBITS, OPR_ILOAD, OPR_ILOADX, OPR_INTRINSIC_CALL, OPR_IO, OPR_MLOAD, OPR_PARM, OPR_REGION, OPR_REGION_EXIT, OPR_RETURN, OPR_RETURN_VAL, and TRUE.
Referenced by STMTREP::Has_mu(), and OPCODE_has_mu().
Definition at line 1694 of file opt_wn.cxx.
References OPERATOR_is_call(), OPR_ASM_STMT, OPR_BACKWARD_BARRIER, OPR_DEALLOCA, and OPR_FORWARD_BARRIER.
Referenced by OPCODE_is_fake().
Definition at line 359 of file opt_wn.h.
References OPR_ILDBITS, OPR_ILOAD, and OPR_ILOADX.
Referenced by Actual_data_size(), DU_MANAGER::Add_Def_Use(), CODEMAP::Add_expr(), CODEMAP::Add_idef(), Aliased(), Cache_L2_Analysis(), CODEREP::Can_be_speculated(), CODEREP::Check_if_result_is_address(), Check_range(), ALIAS_CLASSIFICATION::Classify_deref_of_expr(), OPT_STAB::Collect_f90_pointer_info(), OPT_STAB::Compute_FSA_stmt_or_expr(), OPT_STAB::Convert_ST_to_AUX(), Gen_exp_wn(), CODEREP::Get_ivar_vsym(), CODEREP::Is_integral_load_store(), EXP_WORKLST::Is_the_same_as(), CODEREP::Ivar_has_e_num(), STMTREP::Points_to(), DU_MANAGER::Print_Ud(), COPYPROP::Prop_ivar(), COPYPROP::Prop_var(), ETABLE::Recursive_rehash_and_replace(), RESTRICTED_MAP::Save_info(), DSE::Set_Required_WN(), U64_LOWER_form_node(), DU_MANAGER::Ud_Add_Def(), CODEREP::Verify_CODEMAP(), and WN_address_kid().
Definition at line 364 of file opt_wn.h.
References OPR_ISTBITS, OPR_ISTORE, and OPR_ISTOREX.
Referenced by CODEMAP::Add_idef(), Aliased(), SSA_RENAME::Apply_sr(), ETABLE::Bottom_up_stmt(), OPTCOUNT::Bottom_up_stmt(), Cache_L2_Analysis(), Check_range(), ALIAS_CLASSIFICATION::Classify_lhs_of_store(), OPT_STAB::Collect_f90_pointer_info(), EOCC::Collect_real_occurrences(), OPT_STAB::Compute_FSA_stmt_or_expr(), OPT_STAB::Convert_ST_to_AUX(), ETABLE::Find_new_1st_order_exprs(), CODEREP::Get_ivar_vsym(), ALIAS_CLASSIFICATION::Handle_assignment(), OPT_STAB::Identify_vsym(), DSE::Is_deleted_statement(), CODEREP::Is_integral_load_store(), CODEREP::Ivar_has_e_num(), DCE::Mark_statements_dead(), ETABLE::No_replace(), STMTREP::Points_to(), STMTREP::Print(), CODEMAP::Print_SR(), ref_iter(), LFTR::Replace_comparison(), ETABLE::Replace_occurs(), DSE::Same_memloc(), RESTRICTED_MAP::Save_info(), EXP_OCCURS::Set_occurs_as_lvalue(), DSE::Set_Required_CHI(), DSE::Set_Required_WN(), OPT_STAB::Simplify_Pointer_Ver(), ETABLE::SPRE_rename_expr(), OPT_PU_POINTS_TO_SUMMARIZER::Summarize_points_to(), DU_MANAGER::Ud_Add_Def(), SSA::Value_number(), and WN_address_kid().
Definition at line 349 of file opt_wn.h.
References OPR_LDBITS, and OPR_LDID.
Referenced by CODEMAP::Add_expr(), ALIAS_RULE::Aliased_with_Asm(), Aliased_with_region(), Check_range(), EMITTER::Compute_use_def_var(), EMITTER::Compute_use_def_zero_version_var(), OPT_STAB::Convert_ST_to_AUX(), Copy_alias_info(), OPT_STAB::Count_syms(), MEMOP_ANNOT_CR_SR_MGR::Discard_offline_annot(), Duplicate_alias_info(), MEMOP_ANNOT_CR_SR_MGR::Export_annot(), ALIAS_CLASSIFICATION::Finalize_ac_map_wn(), Is_PREG_ldst(), OPERATOR_has_aux(), STMTREP::Points_to(), VER_STAB_ENTRY::Print_use(), SSA::Rename_rhs(), DSE::Set_Required_WN(), OPT_STAB::Transfer_alias_class_to_occ_and_aux(), and WN_has_ver().
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().
Definition at line 1708 of file opt_wn.cxx.
References OPERATOR_is_call(), OPR_ALLOCA, OPR_ASM_INPUT, OPR_ASM_STMT, OPR_BACKWARD_BARRIER, OPR_DEALLOCA, and OPR_FORWARD_BARRIER.
Referenced by VALNUM_FRE::_contains_undef_val(), BB_NODE::Clonable(), VALNUM_FRE::collect_cr_occurrences(), Count_occurs(), CODEREP::Exp_has_e_num(), OPCODE_is_volatile(), COPYPROP::Propagatable(), COPYPROP::Propagatable_thru_phis(), and set_volatile_mapCR().
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 * | ||||
| ) |
Definition at line 1006 of file opt_wn.cxx.
References fprintf(), PF_PTR_lrnum_1L, PF_PTR_lrnum_2L, PF_PTR_wn_pref_1L, and PF_PTR_wn_pref_2L.
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().
Definition at line 801 of file opt_wn.cxx.
References Delay_U64_Lowering, FALSE, FmtAssert, MTYPE_CLASS_COMPLEX, MTYPE_CLASS_FLOAT, MTYPE_CLASS_INTEGER, MTYPE_CLASS_UNSIGNED, MTYPE_CLASS_VECTOR, Only_Unsigned_64_Bit_Ops, OPC_C10STID, OPC_C4STID, OPC_C8STID, OPC_CQSTID, OPC_F10STID, OPC_F4STID, OPC_F8STID, OPC_FQSTID, OPC_I1STID, OPC_I2STID, OPC_I4STID, OPC_I8STID, OPC_U1STID, OPC_U2STID, OPC_U4STID, OPC_U8STID, and OPCODE_UNKNOWN.
Referenced by Create_identity_assignment().
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.
Definition at line 937 of file opt_wn.cxx.
References BOOL, CK_IVAR, Current_Dep_Graph, Is_True, CODEREP::Ivar_occ(), CODEREP::Kind(), OCC_TAB_ENTRY::Lno_dep_vertex_load(), OCC_TAB_ENTRY::Lno_dep_vertex_store(), NULL, ok(), OPCODE_is_load(), OPCODE_is_store(), OCC_TAB_ENTRY::Pf_pointer(), PF_PTR_wn_pref_1L, PF_PTR_wn_pref_2L, SET_VISITED_EM, VISITED_EM, WN_MAP_PREFETCH, WN_MAP_Set, and WN_opcode().
Referenced by Gen_exp_wn(), and Gen_stmt_wn().
Definition at line 454 of file opt_wn.cxx.
References Is_True, WN_FLAG_ST_TYPE, Wn_flags(), WN_st_idx(), and WN_ST_IS_AUX.
Referenced by CODEMAP::Add_expr(), OPT_STAB::Allocate_mu_chi_and_virtual_var(), POINTS_TO::Analyze_Lda_Base(), ALIAS_CLASSIFICATION::Classify_deref_of_expr(), SSA::Collect_defs_bb(), CFG::Conv_to_select(), OPT_STAB::Convert_EH_pragmas(), OPT_STAB::Convert_ST_to_AUX(), Copy_addr_expr(), OPT_TAIL::Create_top_label(), ALIAS_CLASSIFICATION::Finalize_ac_map_wn(), Gen_stmt_wn(), OPT_STAB::Generate_asm_mu_chi(), OPT_STAB::Generate_mu_and_chi_list(), OPT_STAB::Has_read_only_parm(), OPT_STAB::Identify_vsym(), CFG::Is_simple_expr(), CFG::Lower_if_stmt(), OPT_STAB::Remap_aux_synonym(), SSA::Rename(), SSA::Rename_rhs(), Same_addr_expr(), Same_store_target(), CFG::Screen_cand(), ALIAS_CLASSIFICATION::ST_of_wn(), OPT_STAB::St_ptr(), OPT_STAB::Transfer_alias_class_to_occ_and_aux(), and ALIAS_CLASSIFICATION::WN_base_id().
Definition at line 219 of file opt_wn.cxx.
References WN_COPY_Tree().
Referenced by CFG::Lower_do_loop(), and CFG::Lower_while_do().
Definition at line 490 of file opt_wn.cxx.
References wn_map_tab::_is_used, wn_map_tab::_kind, Current_Map_Tab, FALSE, i, INT, Is_True, OPCODE_is_leaf(), WN_copy_stmap(), WN_kid(), WN_kid_count(), WN_MAP32_Get, WN_MAP32_Set, WN_MAP64_Get, WN_MAP64_Set, WN_MAP_Get, WN_MAP_KIND_INT32, WN_MAP_KIND_INT64, WN_MAP_KIND_VOIDP, WN_MAP_MAX, WN_MAP_Set, and WN_opcode().
Referenced by CFG::Lower_do_loop(), CFG::Lower_while_do(), and WN_copy_stmap().
Definition at line 928 of file opt_wn.cxx.
References Current_Dep_Graph, and NULL.
Referenced by OPT_STAB::Enter_occ_tab().
Definition at line 978 of file opt_wn.cxx.
References BOOL, Current_Dep_Graph, Is_True, NULL, ok(), OPCODE_is_load(), OPCODE_is_store(), and WN_opcode().
Referenced by RVI_NODE::Create_load(), RVI_NODE::Create_store(), RVI::Insert_load(), and RVI::Insert_store().
Definition at line 396 of file opt_wn.cxx.
References _wn_flag_map, and WN_MAP_Delete.
Referenced by COMP_UNIT::~COMP_UNIT().
Definition at line 403 of file opt_wn.cxx.
References _wn_flag_map, and WN_MAP32_Get.
Referenced by CFG::Add_one_do_loop_stmt(), NORMALIZE_LOOP::Normalize_do_loop(), WN_aux(), WN_set_aux(), WN_set_ver(), WN_sym(), and WN_ver().
Definition at line 1092 of file opt_wn.cxx.
References i1, i2, i4, i8, INT64, Is_True, lo, mINT16, mINT32, mINT64, mINT8, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, mUINT16, mUINT32, mUINT64, OPR_INTCONST, s1, s2, s3, s4, val, WN_const_val(), WN_operator(), and WN_rtype().
Referenced by CODEMAP::Add_expr().
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().
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 | ||||
| ) |
Definition at line 255 of file opt_wn.cxx.
References FALSE, Is_True, NULL, opc, OPC_REGION, OPCODE_has_chi(), REGION_get_rid(), RID_TYPE_eh, RID_TYPE_mp, RL_IPA_PREOPT, RL_LAST, RL_LNO_PREOPT, RL_PREOPT, RL_UNKNOWN, TRUE, and WN_opcode().
Referenced by SSA::Collect_defs_bb(), EMITTER::Compute_use_def_stmt(), DSE::Dead_store_elim(), SSA::Find_zero_versions(), Gen_stmt_wn(), RVI::Get_wn_local_attributes(), DSE::Is_deleted_statement(), DSE::Propagate_vsym_bb(), OPT_STAB::Remap_ver_synonym(), SSA::Rename(), DSE::Update_MU_list_for_call(), and SSA::Value_number().
| BOOL WN_has_mu | ( | const WN * | , | |
| REGION_LEVEL | ||||
| ) |
Definition at line 306 of file opt_wn.cxx.
References FALSE, Is_True, NULL, opc, OPCODE_operator(), OPR_ASM_STMT, OPR_BACKWARD_BARRIER, OPR_CALL, OPR_FORWARD_BARRIER, OPR_GOTO_OUTER_BLOCK, OPR_ICALL, OPR_ILDBITS, OPR_ILOAD, OPR_ILOADX, OPR_INTRINSIC_CALL, OPR_IO, OPR_MLOAD, OPR_PARM, OPR_REGION, OPR_REGION_EXIT, OPR_RETURN, OPR_RETURN_VAL, REGION_get_rid(), RID_TYPE_eh, RID_TYPE_mp, RL_IPA_PREOPT, RL_LAST, RL_LNO_PREOPT, RL_PREOPT, RL_UNKNOWN, TRUE, WN_opcode(), and WN_Parm_By_Reference.
Referenced by EMITTER::Compute_use_def_stmt(), DSE::Dead_store_elim(), SSA::Find_zero_versions(), Gen_stmt_wn(), RVI::Get_wn_local_attributes(), RVI::Global_vars(), DSE::Mem_WN_equiv(), DSE::Propagate_vsym_bb(), DSE::Propagate_vsym_wn(), OPT_STAB::Remap_ver_synonym(), SSA::Rename(), SSA::Rename_rhs(), DSE::Set_Required_WN(), and SSA::Value_number().
Definition at line 418 of file opt_wn.cxx.
References OPERATOR_is_scalar_load(), OPERATOR_is_scalar_store(), and WN_operator().
Referenced by DSE::Propagate_vsym_wn(), OPT_STAB::Remap_ver_synonym(), and DSE::Set_Required_WN().
Definition at line 391 of file opt_wn.cxx.
References _wn_flag_map, and WN_MAP32_Create.
Referenced by COMP_UNIT::COMP_UNIT().
Definition at line 472 of file opt_wn.cxx.
References Set_wn_flags(), WN_FLAG_ST_TYPE, Wn_flags(), WN_st_idx(), and WN_ST_IS_AUX.
Referenced by CFG::Conv_to_select(), OPT_STAB::Convert_ST_to_AUX(), Copy_addr_expr(), Create_identity_assignment(), OPT_TAIL::Fixup_exit(), CFG::Lower_if_stmt(), and OPT_STAB::Remap_aux_synonym().
Definition at line 482 of file opt_wn.cxx.
References Set_wn_flags(), WN_FLAG_ST_TYPE, Wn_flags(), WN_st_idx(), and WN_ST_IS_VER.
Referenced by DSE::Propagate_vsym_wn(), OPT_STAB::Remap_ver_synonym(), SSA::Rename(), and SSA::Rename_rhs().
Definition at line 446 of file opt_wn.cxx.
References Is_True, WN_FLAG_ST_TYPE, Wn_flags(), WN_st(), and WN_ST_IS_SYM.
Referenced by CODEMAP::Add_expr(), IVR::Choose_primary_IV(), OPT_STAB::Generate_mu_and_chi_list(), and OPT_STAB::Var_is_loop_index().
Definition at line 462 of file opt_wn.cxx.
References Is_True, WN_FLAG_ST_TYPE, Wn_flags(), WN_st_idx(), and WN_ST_IS_VER.
Referenced by CODEMAP::Cur_def(), STMTREP::Enter_lhs(), OPT_STAB::Find_Based_Pointer(), DSE::Is_deleted_statement(), Is_identity_asgn(), VER_STAB_ENTRY::Print_use(), DSE::Propagate_vsym_wn(), OPT_STAB::Remap_ver_synonym(), DSE::Required_istore(), DSE::Required_load(), DSE::Required_stid(), DSE::Set_Required_WN(), OPT_STAB::Simplify_Pointer(), OPT_STAB::Update_iload_vsym(), DSE::Update_MU_list_for_call(), and SSA::Value_number().
1.5.6