#include <stdint.h>#include <sys/types.h>#include "lnopt_main.h"#include "dep_graph.h"#include "lnoutils.h"#include "lwn_util.h"#include "opt_du.h"#include "cse.h"#include "reduc.h"

Go to the source code of this file.
| typedef STACK<WN *> STACK_OF_WN |
| enum EQUIVALENCE_TYPE |
| static void Add_Invariant_Deps | ( | ) | [static] |
Definition at line 1208 of file cse.cxx.
References STACK< T >::Bottom_nth(), Current_Dep_Graph, CXX_NEW, CXX_NEW_ARRAY, DEP_SetDirection(), DIR_POS, DIR_POSEQ, STACK< T >::Elements(), i, i2, INT, LNO_local_pool, MEM_POOL_Pop, MEM_POOL_Push, tmp, WN_offset(), and WN_st().
Referenced by Inter_Iteration_Cses_Loop().
| static void Append_Wn_Pair | ( | STACK< WN_PAIR_EC > * | cse_stack, | |
| WN * | a3, | |||
| WN * | b3, | |||
| INT32 | eclass | |||
| ) | [static] |
Definition at line 600 of file cse.cxx.
References STACK< T >::Push().
Referenced by Process_Pair().
| static BOOL Both_Invariant | ( | STACK< WN_PAIR_EC > * | cse_stack | ) | [static] |
Definition at line 632 of file cse.cxx.
References STACK< T >::Bottom_nth(), Current_Dep_Graph, DEP, DEP_IsDistance(), FALSE, TRUE, v0, WN_PAIR_EC::Wn1, and WN_PAIR_EC::Wn2.
Referenced by Process_Pair().
Definition at line 149 of file cse.cxx.
References debug, Equivalence_Class_Map, FmtAssert, fprintf(), Get_Trace(), Inter_Iteration_Cses_R(), LNO_default_pool, TFile, TP_LNOPT, TT_LNO_DEBUG_CSE, WN_MAP32_Create, and WN_MAP_Delete.
Referenced by Lnoptimizer().
Definition at line 205 of file cse.cxx.
References Add_Invariant_Deps(), STACK< T >::Bottom_nth(), Current_Dep_Graph, CXX_DELETE, CXX_NEW, debug, DEP, DEP_Distance(), DEP_IsDistance(), STACK< T >::Elements(), EQUIV_WN_HASH::Enter(), Equivalence_Class_Map, equivalence_class_number, EQUIV_WN_HASH::Find(), fprintf(), i, INT, LNO_local_pool, load(), LWN_Delete_Tree(), LWN_Get_Parent, MEM_POOL_Pop, MEM_POOL_Push, NULL, OPCODE_is_prefetch(), OPCODE_operator(), OPR_CVT, OPR_DIV, OPR_LDID, OPR_RECIP, OPR_RSQRT, OPR_SQRT, Process_Pair(), EQUIV_WN_HASH::Remove(), Same_Side(), Set_Up_Equivalence_Classes(), TFile, tmp, UINT16, WN_PAIR::Wn1, WN_PAIR::Wn2, WN_do_body, WN_first(), WN_MAP32_Get, WN_next(), WN_opcode(), and WN_operator().
Referenced by Inter_Iteration_Cses_R().
Definition at line 160 of file cse.cxx.
References Do_Loop_Has_Gotos(), Do_Loop_Is_Good(), Do_Loop_Is_Inner(), Do_Loop_Is_Mp(), INT, Inter_Iteration_Cses_Loop(), next, OPC_BLOCK, OPC_DO_LOOP, opcode, WN_do_loop_info, WN_first(), WN_kid(), WN_kid_count(), WN_Loop_Nz_Trip, WN_next(), and WN_opcode().
Referenced by Inter_Iteration_Cses().
Definition at line 335 of file cse.cxx.
References OPR_ADD, and OPR_SUB.
Referenced by Set_Up_Equivalence_Classes(), and Transform_Code().
| static void Prepend_Wn_Pair | ( | STACK< WN_PAIR_EC > * | cse_stack, | |
| WN * | a0, | |||
| WN * | b0, | |||
| INT32 | eclass | |||
| ) | [static] |
Definition at line 610 of file cse.cxx.
References STACK< T >::Bottom_nth(), WN_PAIR_EC::EClass, STACK< T >::Elements(), i, in, INT, out, STACK< T >::Push(), top, STACK< T >::Top_nth(), WN_PAIR_EC::Wn1, and WN_PAIR_EC::Wn2.
Referenced by Process_Pair().
Definition at line 656 of file cse.cxx.
References a0, a3, Append_Wn_Pair(), BOOL, Both_Invariant(), STACK< T >::Bottom_nth(), Current_Dep_Graph, DEP, DEP_Distance(), DEP_IsDistance(), Equivalence_Class_Map, FALSE, INT32, LNO_local_pool, LWN_Get_Parent, NULL, OPCODE_operator(), OPR_CVT, OPR_DIV, Prepend_Wn_Pair(), STACK< T >::Push(), Same_Side(), tmp, STACK< T >::Top_nth(), Transform_Code(), TRUE, UINT16, WN_PAIR_EC::Wn1, WN_PAIR_EC::Wn2, WN_kid0(), WN_MAP32_Get, WN_MAP32_Set, WN_opcode(), and WN_operator().
Referenced by Inter_Iteration_Cses_Loop().
Definition at line 188 of file cse.cxx.
References WN_kid0(), and WN_kid1().
Referenced by Inter_Iteration_Cses_Loop(), and Process_Pair().
Definition at line 532 of file cse.cxx.
References BOOL, Current_Dep_Graph, defs, Du_Mgr, Equivalence_Class_Map, equivalence_class_number, FALSE, SLIST_ITER::First(), INT, INT32, SLIST_ITER::Is_Empty(), iter, LWN_Get_Parent, SLIST_ITER::Next(), node, OPC_DO_LOOP, opcode, OPCODE_desc(), OPCODE_is_load(), OPCODE_is_store(), OPCODE_operator(), OPCODE_rtype(), OPR_ADD, OPR_CVT, OPR_LDID, OPR_SUB, STACK< T >::Push(), TRUE, DU_MANAGER::Ud_Get_Def(), WN_kid(), WN_kid0(), WN_kid_count(), WN_MAP32_Set, WN_opcode(), WN_operator(), and WN_rtype().
Referenced by Set_Up_Equivalence_Classes().
| static EQUIVALENCE_TYPE Set_Up_Equivalence_Classes | ( | WN * | wn, | |
| WN * | loop | |||
| ) | [static] |
Definition at line 349 of file cse.cxx.
References BOOL, EQ_ADD, EQ_DIV, EQ_LOAD, EQ_MAX, EQ_MIN, EQ_MPY, EQ_NONE, equivalence_class_number, FALSE, INT, next, Norm_Opr(), OPC_BLOCK, opcode, OPCODE_desc(), OPCODE_is_expression(), OPCODE_is_leaf(), OPCODE_is_load(), OPCODE_is_store(), OPCODE_operator(), OPCODE_rtype(), OPR_ADD, OPR_CVT, OPR_DIV, OPR_MAX, OPR_MIN, OPR_MPY, OPR_RECIP, OPR_RSQRT, OPR_SQRT, OPR_SUB, result, Set_Up_Equivalence_Class(), TRUE, TYPE_ID, UINT16_MAX, WN_desc(), WN_first(), WN_kid(), WN_kid0(), WN_kid1(), WN_kid_count(), WN_next(), WN_opcode(), WN_operator(), and WN_rtype().
Referenced by Inter_Iteration_Cses_Loop().
| static void Transform_Code | ( | STACK< WN_PAIR_EC > * | cse_stack, | |
| WN * | loop, | |||
| BOOL | all_invariant | |||
| ) | [static] |
Definition at line 847 of file cse.cxx.
References DU_MANAGER::Add_Def_Use(), Alias_Mgr, Be_Type_Tbl, BOOL, STACK< T >::Bottom_nth(), Build_Doloop_Stack(), Create_alias(), Create_Preg(), Current_Dep_Graph, CXX_DELETE_ARRAY, CXX_NEW, CXX_NEW_ARRAY, debug, DEP_SetDirection(), DEP_SetDistance(), DIR_POS, DIR_POSEQ, Du_Mgr, WN_PAIR_EC::EClass, STACK< T >::Elements(), Equivalence_Class_Map, fprintf(), Get_Do_Loop_Info(), DO_LOOP_INFO::Guard, i, INT, length, LNO_Build_Access(), LNO_default_pool, LNO_local_pool, loop_stack, LWN_Copy_Frequency(), LWN_Copy_Frequency_Tree(), LWN_Copy_Linenumber(), LWN_Copy_Tree(), LWN_CreateExp1(), LWN_CreateExp2(), LWN_CreateStid(), LWN_Get_Parent, LWN_Get_Statement(), LWN_Insert_Block_After(), LWN_Insert_Block_Before(), LWN_Set_Parent, MTYPE_To_PREG, MTYPE_V, Norm_Opr(), NULL, OPCODE_make_op(), OPR_CVT, OPR_LDID, OPR_NEG, OPR_STID, OPR_SUB, STACK< T >::Push(), Replace_Ldid_With_Exp_Copy(), DEF_LIST::Set_loop_stmt(), sprintf(), SYMBOL::St(), ST_name, strlen(), TFile, STACK< T >::Top_nth(), TYPE_ID, DU_MANAGER::Ud_Get_Def(), UINT, WN_PAIR_EC::Wn1, WN_PAIR_EC::Wn2, WN_CreateLdid, WN_Delete, WN_do_body, WN_kid(), WN_kid0(), WN_kid1(), WN_kid_count(), WN_MAP32_Set, WN_operator(), WN_Reset_If_Guard, WN_rtype(), and WN_start.
Referenced by Process_Pair().
INT debug [static] |
Definition at line 147 of file cse.cxx.
Referenced by _bfd_ecoff_bfd_final_link(), _bfd_ecoff_write_object_contents(), add_ipl_cmd_string(), Check_Target(), cleanup(), collect_execute(), DEPV_COMPUTE::Compute(), DEPV_COMPUTE::Compute_Dep_Vectors(), cover_insn(), ecoff_final_link_debug_accumulate(), ecoff_link_write_external(), emit_lkcord(), find_a_file(), gen_dis_table(), in_iclass(), init_given_crt_path(), init_stdc_plus_plus_path(), insn_decode(), Inter_Iteration_Cses(), Inter_Iteration_Cses_Loop(), SYSTEM_OF_EQUATIONS::Is_Consistent_Work(), layout(), load_dependencies(), load_insn_classes(), locate_lib(), main(), maybe_unlink(), parse_params(), parse_resource_users(), prefix_from_string(), print_dependency_table(), process_args(), Process_Default_Group(), Process_Mp(), Process_Mp_Group(), process_object_file(), Process_Opt_Group(), Process_Promp(), Process_Store(), Process_Targ_Group(), Process_Tenv_Group(), re_set_syntax(), read_call_graph(), read_obj_list(), rename_ssa_copies(), Report_Non_Vectorizable_Op(), scan_prog_file(), Simd(), Simd_Phase(), tlink_init(), Transform_Code(), Unit_Stride_Reference(), wb(), and write_c_file_stat().
WN_MAP Equivalence_Class_Map [static] |
Definition at line 144 of file cse.cxx.
Referenced by Inter_Iteration_Cses(), Inter_Iteration_Cses_Loop(), Process_Pair(), Set_Up_Equivalence_Class(), and Transform_Code().
UINT16 equivalence_class_number [static] |
Definition at line 143 of file cse.cxx.
Referenced by Inter_Iteration_Cses_Loop(), Set_Up_Equivalence_Class(), and Set_Up_Equivalence_Classes().
Definition at line 202 of file cse.cxx.
Referenced by flatten_function_call(), and Instrument_Address().
const char* rcs_id = "$Source: be/lno/SCCS/s.cse.cxx $ $Revision: 1.13 $" [static] |
const char* source_file = __FILE__ [static] |
1.5.6