
Go to the source code of this file.
Functions/Subroutines | |
| void | Minvariant_Removal (WN *func_nd, ARRAY_DIRECTED_GRAPH16 *dg) |
| void | MIR_Has_Messy_Subscript (WN *wn_loop, INT can_hoist[], INT lowest_depth[], BOOL initialize) |
| void | MIR_Hoist_Messy_Subscripts (WN *wn_loop) |
| void | MIR_Update_Dependences (WN *wn_loop, DYN_ARRAY< WN * > *new_uses) |
| void Minvariant_Removal | ( | WN * | func_nd, | |
| ARRAY_DIRECTED_GRAPH16 * | dg | |||
| ) |
Definition at line 1624 of file minvariant.cxx.
References FALSE, Get_Trace(), LWN_Check_Parentize(), MEM_POOL_Initialize, Minv_Debug, MIR_Iterate_Outer_Loops(), mir_local_pool_initialized, TP_LNOPT, TRUE, TT_LNO_MINVARIANT_DEBUG, and WN_func_body.
Referenced by Lnoptimizer(), and Simd_Phase().
Definition at line 1770 of file minvariant.cxx.
References Array_Dependence_Graph, count, dg, Do_Loop_Depth(), FALSE, INT, MEM_POOL_Initialize, mir_local_pool_initialized, MIR_Test_SNL(), SNL_Get_Inner_Snl_Loop(), SNL_Loop_Count(), and TRUE.
Referenced by HMB_Hoist_Messy_Bounds().
Definition at line 1800 of file minvariant.cxx.
References Array_Dependence_Graph, dg, FALSE, LWN_Get_Parent, MEM_POOL_Initialize, MIR_Iterate_Outer_Loops(), mir_local_pool_initialized, and TRUE.
Referenced by HMB_Compound_Guard_And_Hoist(), HMB_Hoist_Easy_Messy_Subscripts(), and HMB_Simple_Guard_And_Hoist().
Definition at line 636 of file minvariant.cxx.
References ARRAY_DIRECTED_GRAPH16::Add_Edge(), Already_On_Stack(), Array_Dependence_Graph, BOOL, STACK< T >::Bottom_nth(), Build_Doloop_Stack(), Build_Ordered_Stack(), CXX_NEW, DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Delete_Edge(), dg, Do_Depth(), STACK< T >::Elements(), DYN_ARRAY< T >::Elements(), FALSE, DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Edge(), DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_In_Edge(), DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Next_In_Edge(), DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Next_Out_Edge(), DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Out_Edge(), DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Sink(), DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Source(), ARRAY_DIRECTED_GRAPH16::Get_Vertex(), ARRAY_DIRECTED_GRAPH16::Get_Wn(), INT, LNO_Erase_Dg_From_Here_In(), LNO_local_pool, LWN_Get_Parent, MEM_POOL_Initialize, Messy_Subscript(), mir_local_pool_initialized, NULL, OPC_DO_LOOP, OPCODE_is_load(), STACK< T >::Push(), TRUE, wn, and WN_opcode().
Referenced by HMB_Hoist_Messy_Subscripts(), and MIR_Replace().
1.5.6