osprey/be/lno/lwn_util.h File Reference

#include "wn.h"
#include "wn_util.h"
#include "fb_whirl.h"

Include dependency graph for lwn_util.h:

Go to the source code of this file.

Defines

#define LWN_Get_Parent(wn)   ((WN*)WN_MAP_Get(Parent_Map, (WN*)wn))
#define LWN_Set_Parent(wn, p)   (WN_MAP_Set(Parent_Map, wn, (void *)p))
#define LWN_ITER   WN_ITER
#define LWN_WALK_TreeIter   WN_WALK_TreeIter
#define LWN_WALK_TreeNext   WN_WALK_TreeNext
#define LWN_WALK_SCFIter   WN_WALK_SCFIter
#define LWN_WALK_SCFNext   WN_WALK_SCFNext
#define LWN_WALK_StmtIter   WN_WALK_StmtIter
#define LWN_WALK_StmtNext   WN_WALK_StmtNext
#define LWN_WALK_Abort   WN_WALK_Abort
#define Block_is_empty(b)   (WN_first(b) == NULL)

Functions/Subroutines

void LWN_Copy_Linenumber (const WN *from, WN *to)
void LWN_Set_Frequency (const WN *, const INT32)
void LWN_Copy_Frequency (const WN *, const WN *)
void LWN_Scale_Frequency (const WN *, const float)
void LWN_Adjust_Frequency (const WN *, const INT32)
void LWN_Set_Frequency_Tree (const WN *, const INT32)
void LWN_Copy_Frequency_Tree (const WN *, const WN *)
void LWN_Adjust_Frequency_Tree (const WN *, const INT32)
void LWN_Scale_Frequency_Tree (const WN *, const float)
WNLWN_Get_Next_Tree_Node (const WN *)
WNLWN_Get_Statement (WN *wn)
WNLWN_Get_Next_Stmt_Node (const WN *)
WNLWN_Get_Next_SCF_Node (const WN *)
void LWN_Insert_Block_Before (WN *block, WN *wn, WN *in)
void LWN_Insert_Block_After (WN *block, WN *wn, WN *in)
void LWN_Delete_From_Block (WN *block, WN *wn)
void LWN_Delete_Tree_From_Block (WN *wn)
WNLWN_Extract_From_Block (WN *item)
WNLWN_Extract_From_Block (WN *parent, WN *item)
WNLWN_Copy_Tree (WN *wn, BOOL copy_access=FALSE, WN_MAP access_map=0, BOOL copy_version=FALSE, WN_MAP version_map=0, BOOL copy_all_nodes=FALSE)
void LWN_Parentize (WN *wn)
BOOL LWN_Check_Parentize (const WN *wn)
BOOL inside_parallelizable_loop (WN *wn)
void LWN_Delete_Tree (WN *wn)
WNLWN_CreateStid (OPCODE opc, WN *orig_op, WN *value)
WNLWN_CreateLdid (OPCODE opc, WN *orig_op)
WNLWN_CreateDivfloor (TYPE_ID type, WN *kid0, WN *kid1)
WNLWN_CreateDivceil (TYPE_ID type, WN *kid0, WN *kid1)
WNLWN_CreateDO (WN *index, WN *start, WN *end, WN *step, WN *body)
WNLWN_CreateLoopInfo (WN *induction, WN *trip, UINT16 trip_est, UINT16 depth, INT32 flags)
WNLWN_CreateDoWhile (WN *test, WN *body)
WNLWN_CreateWhileDo (WN *test, WN *body)
WNLWN_CreateIf (WN *test, WN *if_then, WN *if_else)
WNLWN_CreateCondbr (INT32 label_number, WN *exp)
WNLWN_CreateReturn ()
WNLWN_CreateCompgoto (INT32 num_entries, WN *value, WN *block, WN *deflt)
WNLWN_CreateIstore (OPCODE opc, WN_OFFSET offset, TY_IDX ty, WN *value, WN *addr)
WNLWN_CreateMstore (WN_OFFSET offset, TY_IDX ty, WN *value, WN *addr, WN *num_bytes)
WNLWN_CreateStid (OPCODE opc, WN_OFFSET offset, ST *st, TY_IDX ty, WN *value)
WNLWN_CreateEval (WN *exp)
WNLWN_CreateExp1 (OPCODE opc, WN *kid0)
WNLWN_CreateExp2 (OPCODE opc, WN *kid0, WN *kid1)
WNLWN_CreateIload (OPCODE opc, WN_OFFSET offset, TY_IDX ty1, TY_IDX ty2, WN *addr)
WNLWN_CreateMload (WN_OFFSET offset, TY_IDX ty, WN *addr, WN *num_bytes)
WNLWN_CreateCvtl (OPCODE opc, INT16 cvtl_bits, WN *kid0)
WNLWN_CreatePrefetch (WN_OFFSET offset, UINT32 flag, WN *addr)
WNLWN_CreateParm (TYPE_ID rtype, WN *parm_node, TY_IDX ty, UINT32 flag)
BOOL Is_Descendent (WN *low, WN *high)
WNLWN_Int_Type_Conversion (WN *wn, TYPE_ID to_type)
TYPE_ID Promote_Type (TYPE_ID mtype)
BOOL Tree_Equiv (WN *wn1, WN *wn2)
WNLWN_Simplify_Tree (WN *wn)

Variables

WN_MAP Parent_Map


Define Documentation

#define Block_is_empty ( b   )     (WN_first(b) == NULL)

Definition at line 456 of file lwn_util.h.

#define LWN_Get_Parent ( wn   )     ((WN*)WN_MAP_Get(Parent_Map, (WN*)wn))

Definition at line 330 of file lwn_util.h.

Referenced by ANL_VARLIST::_Get_Io_Item_Lda_Access_Status(), ANL_VARLIST::_Get_Lda_Access_Status(), _xdependence_is_preserved(), Access_Vector_Condition_Provable(), Add_Doacross_Comments(), Add_Parallel_Region_Comments(), Add_Parent_If_Constraints(), Add_Parent_Loop_Constraints(), Add_Pragma_To_MP_Region(), PF_LOOPNODE::Add_Ref(), PF_BASE_ARRAY::Add_Ref(), Add_Stmt_Dependence(), Add_To_Symbol(), All_Uses_Outside_Of_Loop(), All_Uses_Within(), Analyse_Dependencies(), ANL_LOOP_CONSTRUCT::ANL_LOOP_CONSTRUCT(), Another_Expression_Comes_From_Loop(), ARA_Initialize_Loops(), Assign_Doacross_Mpnums(), Block_Loop_Depth(), BS_Find_Region(), BS_Find_Sibling(), BS_Has_If_In_Region(), BS_Is_Index_Variable(), BS_Range_Check(), BS_Substitute(), TRANSPOSE_DIRECTED_GRAPH16::Build(), ARRAY_REF::Build_Array(), Build_DLI_Stack(), Build_Doloop_Stack(), Build_Doloop_Stack_Rec(), Build_Parent_Stack(), Build_Regions(), TRANSPOSE_DIRECTED_GRAPH16::Build_Snl(), ARRAY_REF_LIST::Calc_Regs_And_Refs(), SNL_BOUNDS_INFO::Canonicize(), Check_Arrays(), Check_Depth(), Check_Loop_Statement(), Check_Reduction(), Check_Vertices_Traverse(), cl(), Code_Expansion_Limit_Loop(), COND_BOUNDS_INFO::Collect_Outer_Info(), SNL_BOUNDS_INFO::Collect_Outer_Info(), Conditionally_Assigned(), ARA_LOOP_INFO::Const_Work_Estimate(), Constant_Dimension(), Constant_Propogate(), Contained_In_Loop(), Contains_Index_Variable(), TRANSPOSE_DIRECTED_GRAPH16::Contains_Parallelizable(), Convert_Alloca_To_Intrinsic(), Convert_Dealloca_To_Intrinsic(), Convert_Do_Loops_Conditionals(), Convert_Intrinsic_To_Alloca_Dealloca(), Copy_Array(), Copy_Array_Section(), Copy_Loads_In_Bound(), copy_propagation(), Coupled_Loops_Traverse(), Create_Initialize_Loop(), LEGO_INFO::Create_Local_Index(), ARA_LOOP_INFO::Create_New_IF_Clause(), Create_Simple_Shackle_Loops(), Create_Single_Region(), Create_Stride1_Condition_If_Required(), Create_Unroll_Copy(), Crosses_Regions(), ARA_LOOP_INFO::Default_For_Bad_Loop(), Delete_MP_Region(), ARA_LOOP_INFO::Determine_Peel(), Dismantle_Do(), Dismantle_Nested_Doacross(), Dismantle_Nested_Region(), PF_LG::Distance_LR(), ARRAY_DESCRIPTOR::Distribute_Array(), Do_Automatic_Transformation(), Do_Depth(), Do_Loop_Is_Mp(), Dominates(), Dominates_and_Reverse_Postdominates(), DU_Closure_Collect_Defs(), Du_Sanity_Check_r(), Dump_WN(), Dump_Wn_Queue(), EC_Array_Portion_Calls(), Eliminate_Dead_Do(), Eliminate_Dead_If(), Enclosing_Do_Loop(), Enclosing_If_Or_Store(), Enclosing_Ith_Do_Loop(), Enclosing_Loop(), Enclosing_Loop_At_Depth(), Enclosing_Loop_Body(), Enclosing_Proper_Do_Loop(), Enclosing_Store(), DEPV_COMPUTE::Equiv_Dim(), Error_Check_MP_Pragmas(), Expr_Should_Always_Be_Hoisted(), Extract_Branch(), Finalize_Index_Variable(), Finalize_Index_Variable_For_Remove_Unity_Trip_Loop(), Find_Av_Loop_Index(), DEPV_COMPUTE::Find_Def(), Find_Do_Body(), Find_Do_Loop_With_Min(), Find_Enclosing_Unseen_If(), Find_Inner(), Find_Kernel_Stack_Nest_Traverse(), find_loop_var_in_simple_ub(), Find_Ls(), Find_MP(), Find_Proc_Tile_Loop(), Find_Sibling_Containing(), Find_Simd_Kind(), Find_Split_Point(), Find_Statement(), Find_Step(), Find_Stmt_Under(), Find_Topmost_Unseen_If_Containing_Node(), Find_Unseen_If_Outside_Do(), Fiss_Gather_Inner_Loop(), Fission(), Fission_DU_Update(), Fission_Inner_Loop(), Fission_Statement(), Fission_Test(), Fix_Do_Du_Info_X(), Fix_Return_Pregs(), Fix_Up_Loop_Info(), Fiz_Fuse(), Form_Loops(), Forward_Substitute_For_Access_Arrays(), Forward_Substitute_Ldids(), Forward_Substitute_SNL_Bounds(), Freeze_Cur_Numthreads_Func(), Freeze_Numthreads_Ldid(), FS_Array_Substitute(), FS_Condition(), FS_Is_In_Do_Loop_Expression(), FS_Is_Inside_If(), FS_Substitute(), FS_Worthwhile(), Fully_Unroll_Short_Loops(), Fuse(), Fusion_Du_Update(), TRANSPOSE_DIRECTED_GRAPH16::Gather_Arrays(), Gather_Scatter_Scalar_Expand(), Gather_Vectorizable_Ops(), Gen_Lookup_DART(), PF_LG::Gen_Pref_Node(), General_Kernel(), Generate_Blkcyc_Bounds(), Generate_Block_Bounds(), Generate_Block_Bounds_Negative(), ARA_LOOP_INFO::Generate_Copyout_Loop(), Generate_Cyclic_Bounds(), Generate_Interleaved_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Runtime_Cyclic_Bounds(), Generate_Simple_Bounds(), Generate_Sink_Out_Code(), Get_Call_Parent(), Get_Do_And_Above(), Get_Enclosing_Region_ID(), Get_Expansion_Space(), Get_Frozen_Numthreads_Ldid(), Get_IO_Parent(), Get_IOL_Reshaped_Array_Ref(), Get_Memop_Parent(), Get_MP_Region(), Get_Parent_Loop(), Get_Runtime_Cur_Numthreads_Func(), Get_Statement(), Get_Stmt_For_Stmt_Dep_Graph(), Get_surrounding_loop_count(), Good_Do_Depth(), Guard_A_Do(), Guard_Test_Redundant(), AEQUIV::Handle_Call(), SX_INFO::Handle_Def(), AEQUIV::Handle_Rhs(), Has_Cutset(), Has_Sibling_In_Block(), Highest_Condition_Point(), HMB_Compound_Guard_Test(), HMB_Hoist_Easy_Messy_Bounds(), HMB_Hoist_Expressions(), HMB_Hoist_Messy_Bounds(), HMB_Hoist_Messy_Subscripts(), HMB_Maximum_Point(), HMB_Replace_Messy_Bounds(), HMB_Replace_Messy_Bounds_Loop(), HMB_Simple_Guard_Test(), Hoist_Conditionals(), Hoist_Expression(), Hoist_Iload_Ldid_Upper_Bound_One_Level(), Hoist_Inner_Invar(), Hoist_Necessary_Code_Up(), Hoist_Reshaped_Reference(), Hoist_Statement(), Hoistable_Place(), Hoistable_Statement(), HoistIf(), HoistIf_Replace_Symbol(), HoistIf_Walk(), Identical_Array_Refbase(), IF_Branch(), IF_Complement(), IFMM_Convert(), IFMM_Sink(), In_Same_SNL_Section(), Increase_By(), Index_Variable(), Index_Variable_Is_Last_Local(), Index_Variable_Ldid(), Index_Variable_Outside_Loop(), Initial_Hoist_Place(), Initialize_Doacross_Last_Local_Index(), SYMBOL_TREE::Initialize_Innermost_Loop_Var_Symbol(), Initialize_Pdo_Last_Local_Index(), Initialize_Symbols(), Innermost_Doacross_Nest_Loop(), Insert_Sink_Code(), Inside_Lego_Tiled_Loop(), Instrument_Address(), SYMBOL_TREE::Integer_Ref_Needs_Reg(), Inter_Iteration_Cses_Loop(), Interleaved_Pragma_Chunksize(), Invariant_Red_Depth(), TRANSPOSE_DIRECTED_GRAPH16::IO_element_read(), IO_element_read(), IPA_LNO_Evaluate_Array_Formals(), IPL_get_stmt_scf(), Is_Above(), Is_Allowed_Invalid_Access(), Is_Array_Base(), Is_Array_Param(), Is_Descendent(), REDUCTION_MANAGER::Is_Descendent_Of_Store_Address(), is_eventually_a_parent(), Is_In_Range(), Is_Inside_Store(), Is_Invariant(), Is_Lex_Before(), Is_Loop_Lower_Bound(), Is_Loop_Upper_Bound(), Is_nested_within(), Is_Non_Dependent_Load(), Is_Nonloop_Scalar(), Is_Orphaned_Pdo(), Is_Parent_Of(), Is_Proper_Descendant(), Is_Reduction_In_Prallel_Region(), Is_Unconditional(), Is_Under_Array(), Is_Vectorizable_Loop(), Is_Versioned_Mp_Loop(), Is_Versioned_Mp_Region(), Is_Well_Formed_Simd(), IV_Loop_Stmt_Check(), COND_BOUNDS_INFO::Kill_Written_Symbols(), LABEL_LIST::Label_Is_Targeted_Outside_Scope(), Ldid_Comes_From_Loop(), Lego_Block_Peel_Traverse(), Lego_Fix_Local_Rec(), Lego_Index_From_Access_Vector(), Lego_Parent_Array(), Lego_Skew_Loop(), LNO_Common_Loop(), LNO_Erase_Vertices_In_Loop(), LNO_Insert_Pragmas(), Load_SNL_And_Permutation(), Loop_Before_MP_Region(), Loop_Bounds_Constant(), Loop_Depth(), Loop_Dominates_Uses(), Loop_Invariant_Access(), Loop_Statement(), loop_var_is_live_on_exit(), ARRAY_LOWER_REF::Lower_Array_Expr(), ARRAY_LOWER_REF::Lower_Array_Param(), LWN_Check_Parentize(), LWN_Create_Block_From_Stmts_Above(), LWN_Create_Block_From_Stmts_Below(), LWN_Delete_From_Block(), LWN_Delete_Tree(), LWN_Extract_From_Block(), LWN_Get_Linenum(), LWN_Get_Next_SCF_Node(), LWN_Get_Next_Stmt_Node(), LWN_Get_Next_Tree_Node(), LWN_Get_Statement(), LWN_Insert_Block_After(), LWN_Insert_Block_Before(), LWN_Process_FF_Pragmas_Walk_r(), LWN_Simplify_Tree(), Mark_Calls(), Mark_Code(), Mark_Dos(), Mark_Threadprivate_Loops_Traverse(), Max_Dep_Distance(), Messy_Subscript(), Minimal_Kernel(), MIR_Build_Loop_List_Array(), MIR_Build_Loop_List_Walk(), MIR_Hoist_Messy_Subscripts(), MIR_Hoistable_Ref(), MIR_Maybe_Add_To_List(), MIR_Ok_Hoist_Wn_Dependence(), MIR_Patch_Loop_Stmt(), MIR_Replace(), MIR_Update_Dependences(), LOOP_MODEL::Model(), Move_Adjacent(), Mp_Collapse_Cleanup(), Mp_Collapse_Coordinates(), Mp_Collapse_Loop_Heads(), Mp_Collapse_Loop_Statements(), Mp_Compress_Nested_Loop(), Mp_Convert_To_Single_Loop(), Mp_Extract_Bogus_Do_Across(), Mp_Extract_Parallel_Directives(), Mp_Fix_Ref_Array_Aliases(), MP_INFO::MP_INFO(), Mp_Insert_Bounds_Code(), Mp_Layout_Copy_In_Onto(), Mp_Layout_Lego_Layout(), Mp_Localize_Onto_and_Layout(), Mp_Lower_Number(), Mp_Nested_Last_Thread(), MP_Problem(), Mp_Remove_Nested_Region(), Mp_Remove_Onto_Pragmas(), Mp_Tile_Traverse(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), Mp_Want_Freeze_Cur_Threads(), Mp_Want_Version_Loop(), Mp_Want_Version_Parallel_Region(), Multiply_Will_Be_Strength_Reduced(), nest_depth(), Non_Const_Loops(), Normal_Outer_Tile(), ARA_LOOP_INFO::Not_Enough_Parallel_Work(), ARRAY_REF_LIST::Num_Fp_Refs(), Num_Good(), Num_Inner_Loops(), ARRAY_REF_LIST::Num_Int_Refs(), Num_Invariant_Refs(), Outer_Mp_Region(), Outer_Tile(), Outermore_Parallel_Construct(), Outermore_Parallel_Construct_Or_Lego_Loop(), TRANSPOSE_DIRECTED_GRAPH16::Outermore_Parallelizable(), Outermost_Enclosing_Good_Loop(), Outermost_Enclosing_Loop(), Parallelization_Process_Deps(), Parallelize_Doacross_Loop(), Perfect_Nested_Outer_Loop(), Perfectly_Nested(), Perform_Gather_Scatter(), PF_Get_Next_Do_Loop(), PF_UGS::PF_UGS(), LEGO_INFO::Pid0(), LEGO_INFO::Pid1(), Possible_Contiguous_Dope(), Post_loop_peeling(), Post_Peel_RR_Map_Update(), Pre_loop_peeling(), Pre_Peel_RR_Map_Update(), MIR_REFLIST::Print(), FIZ_FUSE_INFO::Print(), Print_Def_Use(), Print_Goto_Lines(), Print_Prompf_Nest_Log(), IPO_INLINE::Process_Alloca_Postamble(), IPO_INLINE::Process_Alloca_Preamble(), process_array_node(), SUMMARIZE< program >::Process_callsite(), SUMMARIZE< program >::Process_control_dependence(), Process_If(), PF_LOOPNODE::Process_Loop(), process_node(), Process_Pair(), SUMMARIZE< program >::Process_procedure(), Process_Store(), Processor_2D_Tile_Loop(), Processor_3D_Tile_Loop(), Processor_Update_Inner_Tile(), Processor_Update_Outer_Tile(), Promote_Pointer(), Prompf_Mp_Version(), Prompf_Nest_Depth(), Prompf_Nested_Tile(), Prompf_Tile(), Prune_Redundant_Trues(), SD_INFO::Push_Memory_Nodes(), Read_Pragma_Affinity(), Read_Pragma_Thread_Affinity(), Rebuild_Access_Arrays(), SUMMARIZE< program >::Record_ref(), SUMMARIZE< program >::Record_ref_all_formal(), SUMMARIZE< program >::Record_ref_formal(), Recursively_Add_Bound_Lin_Symbols(), Recursively_Add_Parent_If_Lin_Symbols(), Redundant_Condition(), Region_Depth(), Remove_Floor_From_One_Sided_Cond(), ANL_LOOP_CONSTRUCT::Remove_Stmt_In_Block(), Remove_Unity_Trip_Loop(), Remove_Unity_Trip_Loop_Loop_Stmt_Update(), Remove_Unity_Trip_Loop_Update_If_Accesses(), Remove_Unity_Trip_Loop_Update_Is_Inner(), Remove_Zero_Trip_Loop(), Rename_Update_MP(), Rename_Update_MP_Region(), Renumber_Loops(), Replace_Equality_Check(), Replace_Scalar_Store_With_Array_Store(), Replace_Symbol(), Replace_Symbols(), Replace_WN(), Replace_Wnexp_With_Exp_Copy(), Return_Node(), Rewrite_Bounds(), RV_Index_Sign(), RV_Reverse_Index_Ldid(), RV_Reverse_Loop(), RV_Scalar_Node_Legal(), SA_Set_SimdOps_Info1(), SA_Set_SimdOps_Info2(), SA_Version_F90_Loops_For_Contiguous(), MIR_REFLIST::Same(), DEPV_COMPUTE::Same_Monotonic(), Sandwiched_Code_Sinkable_In(), Scalar_Def_Covered_In_Loop(), Scalar_Equivalence_Class(), Scalar_Expand(), Scalar_Expandable(), scalar_rename(), Scalar_Store_Hoist_Place(), Scl_Dep_Info(), SE_Findxs(), SE_Guard_Tests(), SE_Iload(), SE_Istore(), SE_New_Outer_Loop(), Separate(), Separate_And_Update(), separate_loop_and_scalar_expand(), separate_loop_by_scc(), ACCESS_ARRAY::Set_Array(), Set_Constant_Dimensions(), Set_Enclosing_If_Has_Region(), SUMMARIZE< program >::Set_IO(), Set_Up_Equivalence_Class(), Shackleable_Ifs_Surrounding_Stmt(), Sibling(), Simd(), Simd_Add_Shuffle_For_Negative_Coefficient(), Simd_Align_Analysis(), Simd_Align_Array_References(), Simd_Align_Best_Peel(), Simd_Align_Generate_Peel_Loop(), Simd_Analysis(), Simd_Finalize_Loops(), simd_fis_separate_loop_and_scalar_expand(), Simd_Get_Vector_Type(), Simd_Handle_Negative_Coefficient(), Simd_Mark_Code(), Simd_Pre_Analysis(), Simd_Replace_With_Constant(), Simd_Unroll_Statement(), Simd_Vectorize_Constants(), Simd_Vectorize_Induction_Variables(), Simd_Vectorize_Scalar_Reduction(), Simd_Vectorize_SimdOp_And_Kids(), Simplify_Sink_Out_Code(), Single_Definition_Temp(), Sink_Out_Sandwiched_Statement(), Sink_Sandwiched_Code_In(), Sinkable_Into_Loop(), SNL_All_Parallelizable(), SNL_Auto_Parallelization(), SNL_Distribute(), SNL_Expand_Reduction_Deps(), SNL_Fix_Array_Deps_On_Index_Variable(), SNL_GEN_2D_Regtile(), SNL_GEN_Protect_Nest_With_Conditionals(), SNL_GEN_U_Ctiling(), SNL_Good_Perm_Loops(), SNL_Has_Sandwiched_Code(), SNL_Hoist_Messy_Bounds(), SNL_Inner_Exit_Count(), SNL_Inner_Machine_Cost(), SNL_INV_Cache_Block(), SNL_INV_Get_Next_Outermost_Loop(), SNL_INV_Local_Permute_Loops(), SNL_INV_Scalar_Expand_Tile(), SNL_INV_SE_Distribute(), SNL_INV_Transforms(), SNL_Is_Scalar_Expandable(), SNL_Legal_Perm_Scalar(), SNL_Legal_Tile_Scalars(), SNL_Lift_Lego_Tile_Loops_Once(), SNL_Lift_Lego_Tile_Loops_Shifts(), SNL_Peel_Iteration(), SNL_Rebuild_Access_Arrays(), SNL_Regtile_Loop(), SNL_SPL_Loop_Is_Inner_Tile(), SNL_SPL_Split_Tile_Sets(), SNL_Transform(), Sort_Equivalence_Class(), Split_Array(), Split_Region(), Statement_Sinkable_Out_Of_Loop(), Steady_Base(), Stid_Comes_From_Loop(), Substitute_Array(), SX_INFO::SX_INFO(), Tile_Loop(), Transform_Code(), Transform_Expression(), TRANSPOSE_DIRECTED_GRAPH16::Transpose(), Try_Hoist_Expression(), Twod_Setbound(), UBvar(), Unify_Loop(), Unrolled_DU_Update(), SUMMARIZE< program >::Update_Addr_Passed_Count(), Update_Caller_MP_Pragmas(), AEQUIV::Update_Code(), Update_MP_Local_Var(), Update_Nest_Depth_Traverse(), ACCESS_VECTOR::Update_Non_Const_Loops(), ACCESS_ARRAY::Update_Non_Const_Loops(), Upper_Bound_Standardize(), UT_Generate_Imperfect_If_Code(), Version_and_Splice_Loop(), Version_Loop_Pair(), vintr_fis_separate_loop_and_scalar_expand(), Vintrinsic_Fission(), ARA_LOOP_INFO::Walk_Loop(), Walk_Loop_Dependence(), ARA_LOOP_INFO::Walk_Rhs(), WB_ancestors(), WB_parent(), While_Before_Do(), Wind_Down(), Wind_Down_Parent(), wn_dumpexpr(), Wn_Is_Above(), WN_is_in_pragma(), Wn_Is_Inside(), WN_is_istore_or_mstore(), and WN_Whirl_Linenum().

#define LWN_ITER   WN_ITER

Definition at line 388 of file lwn_util.h.

Referenced by Array_Defs(), BS_Has_Use_In_Subscript(), cl(), Contains_Vertex(), ARA_LOOP_INFO::Default_For_Bad_Loop(), Do_Loop_Explicit_Affinity(), Do_Loop_Implicit_Affinity(), Enter_Scalar_Expandable_Refs(), Estimate_Cycles(), Exp_Node_Varies_In_Loop(), FB_Sanity_Check(), Find_Lego_Base_Exp(), Find_Loop_N_Inside(), Freeze_Numthreads_Ldid(), Generate_If_Accesses(), Good_for_gath(), Has_Calls(), Has_Lego_Mp_Loops(), HMB_Find_Messy_Subscripts(), HMB_Hoist_Easy_Messy_Subscripts(), HMB_Invariant_In_Loop(), Hoist_Iload_Ldid_Upper_Bound_One_Level(), Hoist_Point(), Innermore_Parallel_Loop(), Innermore_Parallel_Or_Lego_Loop(), Inv_Dep_Info(), Invariant_Loops(), IPA_LNO_Find_Formal_Value(), IPA_LNO_Reassign_Unsummarized_Calls(), COND_BOUNDS_INFO::Kill_Written_Symbols(), Lego_Contains_Non_Index_Ldid(), Lego_Loop_Want_Skew(), Lego_Simplify_Loop(), Lego_Skew_Loop(), Loop_Has_Asm(), LWN_Copy_Tree_With_High_Defs(), Machine_Cost_Calls(), SD_INFO::Make_Sd_Info(), Maybe_Assigned(), Maybe_Assigned_Exp_Traverse(), movable_if_test(), Mp_Collapse_Dependences(), Mp_Collapse_Loop_Heads(), Mp_Collapse_Loop_Statements(), Mp_Extract_Bogus_Do_Acrosses(), Mp_Fix_Ref_Array_Aliases(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), Num_Inner_Loops(), PAR_STAT::Num_Refs(), Patch_Uses_In_Loop(), Print_Goto_Lines(), Print_Prompf_Nest_Log(), Prompf_Mp_Version(), SD_INFO::Push_Memory_Nodes(), Red_Dep_Info(), ARA_LOOP_INFO::Reduction_List(), PAR_STAT::Reduction_List(), Remove_Dead_Single_Defs(), Remove_Privatizable_DU_Copy_Arcs(), Remove_Unity_Trip_Loop_Dep_Update(), Remove_Unity_Trip_Loop_Loop_Stmt_Update(), Remove_Unity_Trip_Loop_Update_If_Accesses(), Remove_Unity_Trip_Loop_Update_Is_Inner(), Repair_Bad_Dependences(), Save_Corresponding_Loops(), Scalar_Defs(), Scalar_Equivalence_Class(), Scalar_Expand(), Scalar_Store_Hoist_Place(), Scl_Dep_Info(), SE_Assign_Lexcounts(), SE_Find_Def(), Set_Loop_Statements(), SNL_ANAL_INFO::SNL_ANAL_INFO(), SNL_Bad_Array_Footprints(), SNL_Change_Reduction_Loop_Stmts(), SNL_Distribute(), SNL_Inner_Machine_Cost(), SNL_Is_Distributable_Tree(), SNL_Legal_Tile_Arrays(), SNL_Legal_Tile_Scalars(), Update_Def_List_Loop_Stmt(), ARA_LOOP_INFO::Walk_Block(), Walk_Loop_Dependence(), ARA_LOOP_INFO::Walk_Rhs(), WB_defs_loop(), WB_Prompf_Map(), WB_Set_Map_Id(), WB_TXT_deps_loop(), WB_uses_loop(), and WN_Single_Iteration_Cost().

#define LWN_Set_Parent ( wn,
p   )     (WN_MAP_Set(Parent_Map, wn, (void *)p))

Definition at line 331 of file lwn_util.h.

Referenced by Add_To_Symbol(), Constant_Propogate(), Convert_Alloca_To_Intrinsic(), Convert_Dealloca_To_Intrinsic(), DISTR_ARRAY::Convert_Expr_To_Symbol(), Convert_Intrinsic_To_Alloca_Dealloca(), Copy_Array(), Copy_Array_Section(), Copy_Loads_In_Bound(), copy_propagation(), Create_Unroll_Copy(), Fold_Base(), Fold_Offset(), Forward_Substitute_Ldids(), Fuse(), Gather_Scatter_Scalar_Expand(), Gen_Alloc_DART(), Gen_Alloc_Reshape(), Gen_Call_Array(), Gen_Call_Array_Arg(), Gen_Call_Array_Cart(), Gen_Call_Array_Dart_Args(), Gen_Compare_DARTS(), Gen_Dealloc_DART(), Gen_Init_DART(), Gen_Lookup_DART(), Gen_Malloc_Cart(), PF_LG::Gen_Pref_Node(), Generate_Assignment_Stmt(), Generate_Dynamic_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Runtime_Cyclic_Bounds(), Generate_Simple_Bounds(), Get_Expansion_Space(), HMB_Add_Guard_Condition(), HMB_Hoist_Expressions(), HMB_Replace_Messy_Bounds(), Hoist_Expression(), Hoist_Iload_Ldid_Upper_Bound_One_Level(), HoistIf(), HoistIf_Replace_Symbol(), IFMM_Convert(), Increase_By(), Instrument_Address(), Lego_Fix_Local_Rec(), Lego_Skew_Loop(), ARRAY_LOWER_REF::Lower_Array_Expr(), Lower_Distr_Pragmas(), LWN_CreateCompgoto(), LWN_CreateCondbr(), LWN_CreateDO(), LWN_CreateDoWhile(), LWN_CreateEval(), LWN_CreateIf(), LWN_CreateIstore(), LWN_CreateLoopInfo(), LWN_CreateMstore(), LWN_CreateStid(), LWN_CreateWhileDo(), LWN_Extract_From_Block(), LWN_Insert_Block_After(), LWN_Insert_Block_Before(), LWN_Int_Type_Conversion(), LWN_Parentize(), LWN_Parentize_One_Level(), LWN_Simplify_Tree(), Mark_Code(), Mark_Dos(), MIR_Replace(), Mp_Coordinate_Call(), Mp_Layout_Call(), Numprocs(), Perform_Gather_Scatter(), Pre_loop_peeling(), IPO_INLINE::Process_Alloca_Postamble(), Process_Store(), Processor_Update_Outer_Tile(), Promote_Pointer(), Prune_Redundant_Trues(), Read_Pragma_Page_Place(), Read_Pragma_Thread_Affinity(), Redundant_Condition(), Remove_Unity_Trip_Loop(), Replace_Equality_Check(), Replace_Scalar_Store_With_Array_Store(), Replace_WN(), Replace_Wnexp_With_Exp_Copy(), Reset_param_list(), Rewrite_Bounds(), RV_Reverse_Index_Ldid(), scalar_rename(), SE_Array(), SE_Iload(), SE_Istore(), SE_Wrap_Array(), Separate(), Set_Array_Dim(), Simd(), Simd_Align_Generate_Peel_Loop(), Simd_Finalize_Loops(), Simd_Replace_With_Constant(), Simd_Unroll_Statement(), Simd_Vectorize_Scalar_Reduction(), SNL_GEN_2D_Regtile(), SNL_INV_Cache_Block(), SNL_INV_Local_Permute_Loops(), SNL_Optimize_Bounds(), SNL_Regtile_Loop(), SNL_SPL_Fix_First_Outer_Loop_Limits(), SNL_SPL_Fix_Inner_Loop_Limits(), SNL_SPL_Fix_Second_Outer_Loop_Limits(), SNL_SPL_Propagate_Tiled_Lower_Bound(), Sort_Equivalence_Class(), Split_Array(), PF_LOOPNODE::Split_Loops(), STD_Canonicalize_Upper_Bound(), Step_Size(), Substitute_Array(), Transform_Code(), Twod_Setbound(), Upper_Bound_Standardize(), UT_Generate_Imperfect_If_Code(), and Wind_Down().

#define LWN_WALK_Abort   WN_WALK_Abort

Definition at line 395 of file lwn_util.h.

Referenced by Find_Loop_N_Inside(), Good_for_gath(), and movable_if_test().

#define LWN_WALK_SCFIter   WN_WALK_SCFIter

Definition at line 391 of file lwn_util.h.

Referenced by Find_Loop_N_Inside().

#define LWN_WALK_SCFNext   WN_WALK_SCFNext

Definition at line 392 of file lwn_util.h.

Referenced by Find_Loop_N_Inside().

#define LWN_WALK_StmtIter   WN_WALK_StmtIter

Definition at line 393 of file lwn_util.h.

Referenced by ARA_LOOP_INFO::Default_For_Bad_Loop(), and ARA_LOOP_INFO::Walk_Block().

#define LWN_WALK_StmtNext   WN_WALK_StmtNext

Definition at line 394 of file lwn_util.h.

Referenced by ARA_LOOP_INFO::Default_For_Bad_Loop(), and ARA_LOOP_INFO::Walk_Block().

#define LWN_WALK_TreeIter   WN_WALK_TreeIter

Definition at line 389 of file lwn_util.h.

Referenced by Array_Defs(), BS_Has_Use_In_Subscript(), cl(), Contains_Vertex(), ARA_LOOP_INFO::Default_For_Bad_Loop(), Do_Loop_Explicit_Affinity(), Do_Loop_Implicit_Affinity(), Enter_Scalar_Expandable_Refs(), Estimate_Cycles(), Exp_Node_Varies_In_Loop(), FB_Sanity_Check(), Find_Lego_Base_Exp(), Freeze_Numthreads_Ldid(), Generate_If_Accesses(), Good_for_gath(), Has_Calls(), Has_Lego_Mp_Loops(), HMB_Find_Messy_Subscripts(), HMB_Hoist_Easy_Messy_Subscripts(), HMB_Invariant_In_Loop(), Hoist_Iload_Ldid_Upper_Bound_One_Level(), Hoist_Point(), Innermore_Parallel_Loop(), Innermore_Parallel_Or_Lego_Loop(), Inv_Dep_Info(), Invariant_Loops(), IPA_LNO_Find_Formal_Value(), IPA_LNO_Reassign_Unsummarized_Calls(), COND_BOUNDS_INFO::Kill_Written_Symbols(), Lego_Contains_Non_Index_Ldid(), Lego_Loop_Want_Skew(), Lego_Simplify_Loop(), Lego_Skew_Loop(), Loop_Has_Asm(), LWN_Copy_Tree_With_High_Defs(), Machine_Cost_Calls(), SD_INFO::Make_Sd_Info(), Maybe_Assigned(), Maybe_Assigned_Exp_Traverse(), movable_if_test(), Mp_Collapse_Dependences(), Mp_Collapse_Loop_Heads(), Mp_Collapse_Loop_Statements(), Mp_Extract_Bogus_Do_Acrosses(), Mp_Fix_Ref_Array_Aliases(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), Num_Inner_Loops(), PAR_STAT::Num_Refs(), Patch_Uses_In_Loop(), Print_Goto_Lines(), Print_Prompf_Nest_Log(), Prompf_Mp_Version(), SD_INFO::Push_Memory_Nodes(), Red_Dep_Info(), ARA_LOOP_INFO::Reduction_List(), PAR_STAT::Reduction_List(), Remove_Dead_Single_Defs(), Remove_Privatizable_DU_Copy_Arcs(), Remove_Unity_Trip_Loop_Dep_Update(), Remove_Unity_Trip_Loop_Loop_Stmt_Update(), Remove_Unity_Trip_Loop_Update_If_Accesses(), Remove_Unity_Trip_Loop_Update_Is_Inner(), Repair_Bad_Dependences(), Save_Corresponding_Loops(), Scalar_Defs(), Scalar_Equivalence_Class(), Scalar_Expand(), Scalar_Store_Hoist_Place(), Scl_Dep_Info(), SE_Assign_Lexcounts(), SE_Find_Def(), Set_Loop_Statements(), SNL_ANAL_INFO::SNL_ANAL_INFO(), SNL_Bad_Array_Footprints(), SNL_Change_Reduction_Loop_Stmts(), SNL_Distribute(), SNL_Inner_Machine_Cost(), SNL_Is_Distributable_Tree(), SNL_Legal_Tile_Arrays(), SNL_Legal_Tile_Scalars(), Update_Def_List_Loop_Stmt(), Walk_Loop_Dependence(), ARA_LOOP_INFO::Walk_Rhs(), WB_defs_loop(), WB_Prompf_Map(), WB_Set_Map_Id(), WB_TXT_deps_loop(), WB_uses_loop(), and WN_Single_Iteration_Cost().

#define LWN_WALK_TreeNext   WN_WALK_TreeNext

Definition at line 390 of file lwn_util.h.

Referenced by Array_Defs(), BS_Has_Use_In_Subscript(), cl(), Contains_Vertex(), ARA_LOOP_INFO::Default_For_Bad_Loop(), Do_Loop_Explicit_Affinity(), Do_Loop_Implicit_Affinity(), Enter_Scalar_Expandable_Refs(), Estimate_Cycles(), Exp_Node_Varies_In_Loop(), FB_Sanity_Check(), Find_Lego_Base_Exp(), Freeze_Numthreads_Ldid(), Generate_If_Accesses(), Good_for_gath(), Has_Calls(), Has_Lego_Mp_Loops(), HMB_Find_Messy_Subscripts(), HMB_Hoist_Easy_Messy_Subscripts(), HMB_Invariant_In_Loop(), Hoist_Iload_Ldid_Upper_Bound_One_Level(), Hoist_Point(), Innermore_Parallel_Loop(), Innermore_Parallel_Or_Lego_Loop(), Inv_Dep_Info(), Invariant_Loops(), IPA_LNO_Reassign_Unsummarized_Calls(), COND_BOUNDS_INFO::Kill_Written_Symbols(), Lego_Contains_Non_Index_Ldid(), Lego_Loop_Want_Skew(), Lego_Simplify_Loop(), Lego_Skew_Loop(), Loop_Has_Asm(), LWN_Copy_Tree_With_High_Defs(), Machine_Cost_Calls(), SD_INFO::Make_Sd_Info(), Maybe_Assigned(), Maybe_Assigned_Exp_Traverse(), movable_if_test(), Mp_Collapse_Dependences(), Mp_Collapse_Loop_Heads(), Mp_Collapse_Loop_Statements(), Mp_Extract_Bogus_Do_Acrosses(), Mp_Fix_Ref_Array_Aliases(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), Num_Inner_Loops(), PAR_STAT::Num_Refs(), Patch_Uses_In_Loop(), Print_Goto_Lines(), Print_Prompf_Nest_Log(), Prompf_Mp_Version(), SD_INFO::Push_Memory_Nodes(), Red_Dep_Info(), ARA_LOOP_INFO::Reduction_List(), PAR_STAT::Reduction_List(), Remove_Dead_Single_Defs(), Remove_Privatizable_DU_Copy_Arcs(), Remove_Unity_Trip_Loop_Dep_Update(), Remove_Unity_Trip_Loop_Loop_Stmt_Update(), Remove_Unity_Trip_Loop_Update_If_Accesses(), Remove_Unity_Trip_Loop_Update_Is_Inner(), Repair_Bad_Dependences(), Save_Corresponding_Loops(), Scalar_Defs(), Scalar_Equivalence_Class(), Scalar_Expand(), Scalar_Store_Hoist_Place(), Scl_Dep_Info(), SE_Assign_Lexcounts(), SE_Find_Def(), Set_Loop_Statements(), SNL_ANAL_INFO::SNL_ANAL_INFO(), SNL_Bad_Array_Footprints(), SNL_Change_Reduction_Loop_Stmts(), SNL_Distribute(), SNL_Inner_Machine_Cost(), SNL_Is_Distributable_Tree(), SNL_Legal_Tile_Arrays(), SNL_Legal_Tile_Scalars(), Update_Def_List_Loop_Stmt(), Walk_Loop_Dependence(), ARA_LOOP_INFO::Walk_Rhs(), WB_defs_loop(), WB_Prompf_Map(), WB_Set_Map_Id(), WB_TXT_deps_loop(), WB_uses_loop(), and WN_Single_Iteration_Cost().


Function Documentation

BOOL inside_parallelizable_loop ( WN wn  ) 

Referenced by Fiz_Fuse().

BOOL Is_Descendent ( WN low,
WN high 
)

void LWN_Adjust_Frequency ( const WN ,
const   INT32 
) [inline]

Definition at line 377 of file lwn_util.h.

Referenced by SNL_Peel_Iteration().

void LWN_Adjust_Frequency_Tree ( const WN ,
const   INT32 
)

Definition at line 1667 of file lwn_util.cxx.

Referenced by Post_loop_peeling(), Pre_loop_peeling(), and SNL_Peel_Iteration().

BOOL LWN_Check_Parentize ( const WN wn  ) 

void LWN_Copy_Frequency ( const WN ,
const WN  
) [inline]

void LWN_Copy_Frequency_Tree ( const WN ,
const WN  
)

void LWN_Copy_Linenumber ( const WN from,
WN to 
) [inline]

WN* LWN_Copy_Tree ( WN wn,
BOOL  copy_access = FALSE,
WN_MAP  access_map = 0,
BOOL  copy_version = FALSE,
WN_MAP  version_map = 0,
BOOL  copy_all_nodes = FALSE 
)

Definition at line 612 of file lwn_util.cxx.

References BOOL, CXX_DELETE, CXX_NEW, FALSE, LWN_Copy_Tree_R(), Malloc_Mem_Pool, NULL, result, and WN_Simplifier_Enable().

Referenced by PF_LOOPNODE::Add_Ref(), DISTR_ARRAY::Array_Size_WN(), BND_Max_Expr(), BND_Min_Expr(), canonicalize_if_condition(), Convert_Do_Loops_Conditionals(), DISTR_ARRAY::Convert_Expr_To_Symbol(), Copy_Array(), Copy_Array_Section(), Create_ILoad_From_IStore(), Create_Initialize_Loop(), ARRAY_LOWER_REF::Create_Local_Block_Dim(), LEGO_INFO::Create_Local_Index(), ARA_LOOP_INFO::Create_Old_IF_Clause(), Create_Positive_Divceil(), ARRAY_LOWER_REF::Create_Remote_Blkcyc_Dim(), ARRAY_LOWER_REF::Create_Remote_Block_Dim(), ARRAY_LOWER_REF::Create_Remote_Cyclic_Dim(), Create_Shackle_If_Per_Stmt(), Create_Simple_Shackle_Loops(), ARRAY_LOWER_REF::Create_Star_Dim(), Create_Stride1_Condition_If_Required(), Create_Tmp_Array(), DISTR_INFO::DART_Ldid(), DISTR_INFO::Dimsize_Ldid(), EC_Array_Portion_Calls(), Eliminate_Dead_Do(), SHACKLE_INFO::Expr_Lower(), SHACKLE_INFO::Expr_Upper(), Extended_Lower_Bound(), Extended_Upper_Bound(), Fast_32_Rem(), Finalize_Index_Variable(), Finalize_Index_Variable_For_Remove_Unity_Trip_Loop(), DISTR_INFO::Find_Alloca(), Find_Compare_Value(), Forward_Substitute_Ldids(), Fuse(), Gather_Scatter_Scalar_Expand(), Gen_Alloc_Reshape(), Gen_Init_DART(), PF_LG::Gen_Pref_Node(), Generate_Blkcyc_Bounds(), Generate_Block_Bounds(), Generate_Block_Bounds_Negative(), ARA_LOOP_INFO::Generate_Copyout_Loop(), Generate_Cyclic_Bounds(), Generate_Dynamic_Bounds(), Generate_Guard_Test(), Generate_Interleaved_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Runtime_Cyclic_Bounds(), Generate_Simple_Bounds(), Get_Array_Dimension_LB(), Get_Array_Dimension_Size(), Guard_A_Do(), Guard_Test_Redundant(), Handle_Sink_General_Case(), Handle_Sink_Promotion_Case(), HMB_Add_Guard_Condition(), HMB_Hoist_Messy_Bounds(), HMB_Replace_Messy_Bounds(), Hoist_Expression(), HoistIf_Optimize(), HoistIf_Replace_Symbol(), Initialize_Doacross_Last_Local_Index(), Instrument_Address(), Interleaved_Pragma_Chunksize(), Is_Vectorizable_Loop(), Lego_Skew_Index(), Lego_Skew_Loop(), Lego_Skew_Offset(), DISTR_INFO::Load_Distr_Array(), ARRAY_LOWER_REF::Lower_Array_Expr(), Lower_Distr_Pragmas(), Lower_Single_Array_Dim(), LWN_Copy_Tree_With_High_Defs(), LWN_CreateDO(), Mark_Dos(), Maybe_Handle_Sink_Promotion_Case(), MIR_Replace(), Move_To_PU_Pragma_List(), Mp_Collapse_Loop_Heads(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), New_DACT(), DISTR_INFO::Numprocs_Ldid(), Outer_Loop_Fusion_Walk(), Parallelize_Doacross_Loop(), Perform_Gather_Scatter(), Post_loop_peeling(), Pre_loop_peeling(), Propagate_Loop_Index(), Prune_Redundant_Trues(), Read_Pragma_Page_Place(), Read_Pragma_Thread_Affinity(), ARA_LOOP_INFO::Reduction_List(), Remove_Unity_Trip_Loop(), Replace_Equality_Check(), Replace_Scalar_Store_With_Array_Store(), Replace_Wnexp_With_Exp_Copy(), return_upper_boundplus1(), RR_Map_Setup_Traverse(), RV_Reverse_Index_Ldid(), SA_Loop_Has_Dependence_Cycles(), SE_Array(), SE_Guard_Tests(), SE_Indxs_and_Bounds(), SE_Lower_Bound(), SE_Upper_Bound(), SE_Wrap_Array(), Separate(), Simd(), Simd_Align_Analysis(), Simd_Align_Generate_Peel_Loop(), Simd_Create_Remainder_Loop(), Simd_Finalize_Loops(), Simd_Unroll_Statement(), Simd_Vectorize_Induction_Variables(), Simd_Vectorize_Scalar_Reduction(), SNL_Access_Index_Section(), SNL_Access_Linear_Section(), SNL_Access_Nonlinear_Section(), SNL_Copy_Exp(), SNL_Distribute(), SNL_GEN_2D_Regtile(), SNL_GEN_Protect_Nest_With_Conditionals(), SNL_INV_Cache_Block(), SNL_Optimize_UB_With_Access_Vectors(), SNL_Peel_Iteration(), SNL_Regtile_Loop(), SNL_SPL_Fix_Inner_Loop_Limits(), SNL_SPL_Loop_Is_Inner_Tile(), SNL_SPL_Propagate_Tiled_Lower_Bound(), SNL_SPL_Split_Tile_Sets(), SNL_TRANS_INDEX_DATA::SNL_TRANS_INDEX_DATA(), Split_Array(), PF_LOOPNODE::Split_Loops(), Substitute_Array(), Transform_Code(), Trip_Count(), Trip_Reduce_Loop(), True_Bound(), Unroll_Loop_By_Trip_Count(), UT_Generate_Imperfect_If_Code(), Version_Loop(), Version_Region(), Vintrinsic_Fission(), and Wind_Down().

WN* LWN_CreateCompgoto ( INT32  num_entries,
WN value,
WN block,
WN deflt 
)

Definition at line 1235 of file lwn_util.cxx.

References LWN_Set_Parent, and WN_CreateCompgoto.

WN* LWN_CreateCondbr ( INT32  label_number,
WN exp 
)

Definition at line 1222 of file lwn_util.cxx.

References LWN_Set_Parent, and WN_CreateTruebr.

WN* LWN_CreateCvtl ( OPCODE  opc,
INT16  cvtl_bits,
WN kid0 
)

Definition at line 1447 of file lwn_util.cxx.

References LWN_Parentize_One_Level(), and WN_CreateCvtl.

WN* LWN_CreateDivceil ( TYPE_ID  type,
WN kid0,
WN kid1 
)

WN* LWN_CreateDivfloor ( TYPE_ID  type,
WN kid0,
WN kid1 
)

WN* LWN_CreateDO ( WN index,
WN start,
WN end,
WN step,
WN body 
)

WN* LWN_CreateDoWhile ( WN test,
WN body 
)

Definition at line 1197 of file lwn_util.cxx.

References LWN_Set_Parent, and WN_CreateDoWhile.

Referenced by Parallelize_Doacross_Loop().

WN* LWN_CreateEval ( WN exp  ) 

Definition at line 1403 of file lwn_util.cxx.

References LWN_Set_Parent, and WN_CreateEval.

WN* LWN_CreateExp1 ( OPCODE  opc,
WN kid0 
)

WN* LWN_CreateExp2 ( OPCODE  opc,
WN kid0,
WN kid1 
)

Definition at line 1417 of file lwn_util.cxx.

References LWN_Parentize_One_Level(), and WN_CreateExp2.

Referenced by Add_Condition(), Add_To_Symbol(), AWN_Binary(), BND_Max_Expr(), BND_Min_Expr(), Copy_Array(), Copy_Array_Section(), Create_array(), Create_Initialize_Loop(), ARA_LOOP_INFO::Create_New_IF_Clause(), ARA_LOOP_INFO::Create_Old_IF_Clause(), Create_Shackle_If_Per_Stmt(), Create_Simple_Shackle_Loops(), Create_Tmp_Array(), Create_Unroll_Copy(), Execution_Cost_Expr(), Extended_Lower_Bound(), Extended_Upper_Bound(), Fast_32_Div(), Fast_32_Rem(), Finalize_Index_Variable(), Finalize_Index_Variable_For_Remove_Unity_Trip_Loop(), Find_Compare_Value(), Fold_Base(), Fold_Offset(), Fuse(), Gather_Scatter_Scalar_Expand(), PF_LG::Gen_Pref_Node(), Generate_Blkcyc_Bounds(), Generate_Block_Bounds(), Generate_Block_Bounds_Negative(), ARA_LOOP_INFO::Generate_Copyout_Loop(), Generate_Cyclic_Bounds(), Generate_Guard_Test(), Generate_Interleaved_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Simple_Bounds(), generate_tree_add(), generate_tree_from_bounds_info_row(), HMB_Add_Guard_Condition(), IFMM_Convert(), Increase_By(), Initialize_Pdo_Last_Local_Index(), Lego_Index_From_Access_Vector(), Lego_Skew_Index(), Lego_Skew_Loop(), Lego_Skew_Offset(), Mp_Nested_Last_Thread(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), Parallelize_Doacross_Loop(), Perform_Gather_Scatter(), Post_loop_peeling(), Pre_loop_peeling(), Processor_Update_Outer_Tile(), Promote_Pointer(), Read_Pragma_Thread_Affinity(), Replace_Equality_Check(), Rewrite_Bounds(), RV_Reverse_Index_Ldid(), SE_Array(), SE_Findxs(), SE_Indxs_and_Bounds(), SE_Wrap_Array(), Simd_Align_Analysis(), Simd_Align_Generate_Peel_Loop(), Simd_Finalize_Loops(), Simd_Handle_Negative_Coefficient(), Simd_Update_Copy_Array_Index(), Simd_Vectorize_Scalar_Reduction(), SNL_GEN_2D_Regtile(), SNL_GEN_Protect_Nest_With_Conditionals(), SNL_INV_Cache_Block(), SNL_Opr(), SNL_Optimize_Bounds(), SNL_Optimize_UB_With_Access_Vectors(), SNL_SPL_Fix_First_Outer_Loop_Limits(), SNL_TRANS_INDEX_DATA::SNL_TRANS_INDEX_DATA(), PF_LOOPNODE::Split_Loops(), STD_Canonicalize_Upper_Bound(), Thread_Affinity_Lower(), Transform_Code(), Trip_Reduce_Loop(), Twod_Setbound(), Upper_Bound_Standardize(), UT_Generate_Imperfect_If_Code(), Vintrinsic_Fission(), and WN_Single_Iteration_Cost().

WN* LWN_CreateIf ( WN test,
WN if_then,
WN if_else 
)

WN* LWN_CreateIload ( OPCODE  opc,
WN_OFFSET  offset,
TY_IDX  ty1,
TY_IDX  ty2,
WN addr 
)

WN* LWN_CreateIstore ( OPCODE  opc,
WN_OFFSET  offset,
TY_IDX  ty,
WN value,
WN addr 
)

WN* LWN_CreateLdid ( OPCODE  opc,
WN orig_op 
)

WN* LWN_CreateLoopInfo ( WN induction,
WN trip,
UINT16  trip_est,
UINT16  depth,
INT32  flags 
)

Definition at line 1187 of file lwn_util.cxx.

References LWN_Set_Parent, and WN_CreateLoopInfo.

Referenced by LWN_CreateDO(), and Mark_Dos().

WN* LWN_CreateMload ( WN_OFFSET  offset,
TY_IDX  ty,
WN addr,
WN num_bytes 
)

Definition at line 1439 of file lwn_util.cxx.

References LWN_Parentize_One_Level(), and WN_CreateMload.

WN* LWN_CreateMstore ( WN_OFFSET  offset,
TY_IDX  ty,
WN value,
WN addr,
WN num_bytes 
)

Definition at line 1261 of file lwn_util.cxx.

References LWN_Set_Parent, and WN_CreateMstore.

WN* LWN_CreateParm ( TYPE_ID  rtype,
WN parm_node,
TY_IDX  ty,
UINT32  flag 
)

WN* LWN_CreatePrefetch ( WN_OFFSET  offset,
UINT32  flag,
WN addr 
)

WN* LWN_CreateReturn (  ) 

Definition at line 1229 of file lwn_util.cxx.

References WN_CreateReturn.

Referenced by Return_Node().

WN* LWN_CreateStid ( OPCODE  opc,
WN_OFFSET  offset,
ST st,
TY_IDX  ty,
WN value 
)

WN* LWN_CreateStid ( OPCODE  opc,
WN orig_op,
WN value 
)

WN* LWN_CreateWhileDo ( WN test,
WN body 
)

Definition at line 1205 of file lwn_util.cxx.

References LWN_Set_Parent, and WN_CreateWhileDo.

Referenced by Dismantle_Do().

void LWN_Delete_From_Block ( WN block,
WN wn 
)

void LWN_Delete_Tree ( WN wn  ) 

Definition at line 973 of file lwn_util.cxx.

References Current_Map_Tab, PROMPF_INFO::Elimination(), i, INT, PROMPF_INFO::Is_Enabled(), Is_True, LWN_Delete_From_Block(), LWN_Delete_Tree(), LWN_Get_Parent, NULL, opc, OPC_BLOCK, OPC_DO_LOOP, OPC_REGION, OPR_BLOCK, prev, Prompf_Id_Map, Prompf_Info, RID_Delete(), WN_Delete, WN_first(), WN_kid(), WN_kid_count(), WN_MAP32_Get, WN_MAP32_Set, WN_next(), WN_opcode(), and WN_operator().

Referenced by BS_Substitute(), ARA_LOOP_INFO::Const_Work_Estimate(), Constant_Propogate(), Convert_Alloca_To_Intrinsic(), Convert_Dealloca_To_Intrinsic(), Convert_Intrinsic_To_Alloca_Dealloca(), Create_Simple_Shackle_Loops(), DISTR_ARRAY::DACT_Equiv(), DISTR_INFO::DART_Stid(), Delete_Unused_Labels(), DISTR_INFO::Dimsize_Stid(), Dismantle_Nested_Region(), Execution_Cost(), Extract_Branch(), Forward_Substitute_Ldids(), Freeze_Numthreads_Ldid(), FS_Substitute(), Fuse(), Gather_Scatter_Scalar_Expand(), PF_LG::Gen_Pref_Node(), Generate_Blkcyc_Bounds(), ARA_LOOP_INFO::Generate_Copyout_Loop(), Generate_Interleaved_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Guard_Test_Redundant(), HMB_Hoist_Expressions(), HMB_Hoist_Messy_Bounds(), HMB_Replace_Messy_Bounds(), HoistIf_Optimize(), HoistIf_Walk(), IFMM_Convert(), Insert_Sink_Code(), Inter_Iteration_Cses_Loop(), Lego_Fix_Local_Rec(), Lego_Mp_Tile(), Lego_OZero_Driver(), Lego_Simplify(), Lego_Skew_Loop(), Lego_Tile(), Lnoptimizer(), ARRAY_LOWER_REF::Lower_Array_Expr(), ARRAY_LOWER_REF::Lower_Array_Param(), Lower_Bound_In_Affinity_Range(), Lower_Single_Array_Dim(), LWN_Delete_Tree(), LWN_Delete_Tree_From_Block(), Mark_Code(), Mark_Dos(), MIR_Replace(), Mp_Collapse_Loop_Heads(), Mp_Compress_Nested_Loop(), Mp_Convert_To_Single_Loop(), Mp_Extract_Bogus_Do_Across(), Mp_Extract_Nested_Pragmas(), Mp_Extract_Parallel_Directives(), Mp_Insert_Bounds_Code(), Mp_Layout_Lego_Layout(), Mp_Nested_Last_Thread(), Mp_Remove_Onto_Pragmas(), Mp_Tile(), Mp_Trip_Count(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), DISTR_INFO::Numprocs_Stid(), Parallelize_Doacross_Loop(), Perform_ARA_and_Parallelization(), Perform_Gather_Scatter(), Post_loop_peeling(), Pre_loop_peeling(), Process_If(), Process_Store(), Processor_Update_Inner_Tile(), Processor_Update_Outer_Tile(), Propagate_Loop_Index(), Prune_Redundant_Trues(), ARA_LOOP_INFO::Reduction_List(), Remove_Dead_Single_Defs(), Remove_Redundant_Stids(), Remove_Unity_Trip_Loop(), Remove_Zero_Trip_Loop(), Replace_Scalar_Store_With_Array_Store(), Replace_Wnexp_With_Exp_Copy(), Rewrite_Bounds(), RV_Reverse_Index_Ldid(), Scalar_Expand(), SE_Guard_Tests(), SE_Iload(), Shackle_LWN_Delete_Tree(), Simd_Vectorize_Scalar_Reduction(), Simplify_Sink_Out_Code(), SNL_GEN_2D_Regtile(), SNL_GEN_Protect_Nest_With_Conditionals(), SNL_INV_Cache_Block(), SNL_Optimize_LB_With_Access_Vectors(), SNL_Optimize_UB_With_Access_Vectors(), SNL_Peel_Iteration(), SNL_Regtile_Loop(), SNL_SPL_Fix_Inner_Loop_Limits(), SNL_SPL_Fix_Second_Outer_Loop_Limits(), SNL_SPL_Propagate_Tiled_Lower_Bound(), SNL_SPL_Split_Tile_Sets(), Step_Size(), Substitute_Array(), Trip_Reduce_Loop(), AEQUIV::Update_Code(), Upper_Bound_In_Affinity_Range(), Version_Loop_Pair(), Vintrinsic_Fission(), Wind_Down(), DISTR_INFO::~DISTR_INFO(), and SNL_TRANS_INDEX_DATA::~SNL_TRANS_INDEX_DATA().

void LWN_Delete_Tree_From_Block ( WN wn  ) 

WN* LWN_Extract_From_Block ( WN parent,
WN item 
)

Definition at line 521 of file lwn_util.cxx.

References FmtAssert, LWN_Get_Parent, LWN_Set_Parent, NULL, and WN_EXTRACT_FromBlock().

WN* LWN_Extract_From_Block ( WN item  ) 

Definition at line 514 of file lwn_util.cxx.

References LWN_Get_Parent, LWN_Set_Parent, NULL, and WN_EXTRACT_FromBlock().

Referenced by analyze_stmts_in_func_for_if(), BS_Substitute(), Create_Simple_Shackle_Loops(), Create_Single_Region(), Delete_MP_Region(), Dismantle_Nested_Region(), Eliminate_Dead_If(), Extract_Branch(), Fission_Statement(), Forward_Substitute_Ldids(), Freeze_Numthreads_Ldid(), FS_Substitute(), ARA_LOOP_INFO::Generate_Copyout_Loop(), Generate_Interleaved_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Sink_Out_Code(), Guard_A_Do(), Guard_Test_Redundant(), Handle_Sink_General_Case(), Handle_Sink_Inconsistent_Case(), Handle_Sink_Redundant_Case(), Handle_Sink_Symbolic_Non_Promotion_Case(), HMB_Compound_Guard_And_Hoist(), HMB_Compound_Guard_Test(), HMB_Hoist_Messy_Bounds(), HMB_Simple_Guard_Test(), Hoist_Conditionals(), Hoist_Necessary_Code_Up(), Hoist_Statement(), IFMM_Convert(), Initialize_Pdo_Last_Local_Index(), Insert_Sink_Code(), Largest_Empty_Subtree(), LWN_Create_Block_From_Stmts_Above(), LWN_Create_Block_From_Stmts_Below(), LWN_Delete_Tree_From_Block(), LWN_Process_FF_Pragmas_Walk_r(), MIR_Replace(), Move_Adjacent(), Move_Alloca(), Mp_Collapse_Loop_Heads(), Mp_Convert_To_Single_Loop(), Mp_Extract_Bogus_Do_Across(), Mp_Extract_Nested_Pragmas(), Mp_Extract_Parallel_Directives(), Mp_Insert_Bounds_Code(), Mp_Layout_Lego_Layout(), Mp_Nested_Last_Thread(), Mp_Remove_Nested_Region(), Mp_Remove_Onto_Pragmas(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), Post_loop_peeling(), Pre_loop_peeling(), Process_If(), Process_Store(), Processor_Update_Inner_Tile(), Processor_Update_Outer_Tile(), Remove_Redundant_Stids(), Remove_Unity_Trip_Loop(), Remove_Zero_Trip_Loop(), Replace_Scalar_Store_With_Array_Store(), Reset_param_list(), SE_Istore(), Separate(), Separate_And_Update(), separate_loop_and_scalar_expand(), separate_loop_by_scc(), simd_fis_separate_loop_and_scalar_expand(), Simd_Vectorize_Scalar_Reduction(), Simplify_Sink_Out_Code(), Sink_If2do(), Sink_Out_Sandwiched_Statement(), Sink_Sandwiched_Code_In(), SNL_Distribute(), SNL_GEN_2D_Regtile(), SNL_GEN_Protect_Nest_With_Conditionals(), SNL_GEN_U_Ctiling(), SNL_INV_Cache_Block(), SNL_INV_Local_Permute_Loops(), SNL_Peel_Iteration(), Thread_Affinity_Lower(), toplogical_reordering(), Version_Loop(), Version_Loop_Pair(), Version_Region(), and vintr_fis_separate_loop_and_scalar_expand().

WN* LWN_Get_Next_SCF_Node ( const WN  ) 

WN* LWN_Get_Next_Stmt_Node ( const WN  ) 

WN* LWN_Get_Next_Tree_Node ( const WN  ) 

WN* LWN_Get_Statement ( WN wn  ) 

void LWN_Insert_Block_After ( WN block,
WN wn,
WN in 
)

Definition at line 447 of file lwn_util.cxx.

References first, Is_True, last, LWN_Get_Parent, LWN_Set_Parent, NULL, OPC_BLOCK, OPCODE_is_scf(), OPCODE_is_stmt(), OPR_BLOCK, WN_Delete, WN_first(), WN_last(), WN_next(), WN_opcode(), WN_operator(), and WN_prev().

Referenced by Convert_Do_Loops_Conditionals(), DISTR_ARRAY::Convert_Expr_To_Symbol(), Create_Initialize_Loop(), Create_Shackle_If_Per_Stmt(), Create_Simple_Shackle_Loops(), Create_Single_Region(), Dismantle_Nested_Region(), EC_Array_Portion_Calls(), Eliminate_Dead_Do(), Eliminate_Dead_If(), Extended_Lower_Bound(), Extended_Upper_Bound(), Finalize_Index_Variable(), Finalize_Index_Variable_For_Remove_Unity_Trip_Loop(), Fission_Statement(), Freeze_Cur_Numthreads_Func(), Gather_Scatter_Scalar_Expand(), Gen_Alloc_DART(), Gen_Alloc_Reshape(), Gen_Call_Array(), Gen_Call_Array_Cart(), Gen_CheckNo_DART(), Gen_Compare_DARTS(), Gen_Dealloc_DART(), Gen_HT_DART(), Gen_Init_DART(), Gen_Lookup_DART(), Gen_Migrate_Array(), Gen_Symbols_In_DINFO(), Generate_Blkcyc_Bounds(), Generate_Block_Bounds(), Generate_Block_Bounds_Negative(), ARA_LOOP_INFO::Generate_Copyout_Loop(), Generate_Cyclic_Bounds(), Generate_Guard_Test(), Generate_Interleaved_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Sink_Out_Code(), Get_Expansion_Space(), Guard_A_Do(), Guard_Test_Redundant(), Handle_Sink_General_Case(), Handle_Sink_Promotion_Case(), HMB_Compound_Guard_And_Hoist(), HMB_Compound_Guard_Test(), HMB_Hoist_Messy_Bounds(), HMB_Simple_Guard_Test(), Hoist_Conditionals(), Hoist_Expression(), Hoist_Iload_Ldid_Upper_Bound_One_Level(), Initialize_Pdo_Last_Local_Index(), Insert_Sink_Code(), Lower_Distr_Pragmas(), LWN_Create_Block_From_Stmts_Above(), Maybe_Handle_Sink_Promotion_Case(), MIR_Replace(), Move_Adjacent(), Mp_Extract_Nested_Pragmas(), Mp_Remove_Nested_Region(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), New_DACT(), Numprocs(), Parallelize_Doacross_Loop(), Post_loop_peeling(), IPO_INLINE::Process_Alloca_Postamble(), IPO_INLINE::Process_Copy_In_Copy_Out(), Process_Store(), Read_Pragma_Page_Place(), Read_Pragma_Thread_Affinity(), Remove_Unity_Trip_Loop(), Rename_Update_MP_Region(), Return_Node(), Rewrite_Bounds(), SA_Version_F90_Loops_For_Contiguous(), Scalar_Expand(), SE_Final_Value(), SE_Guard_Tests(), Separate(), separate_loop_by_scc(), Simd_Finalize_Loops(), Simd_Unroll_Statement(), Simd_Vectorize_Induction_Variables(), Simd_Vectorize_Scalar_Reduction(), Sink_If2do(), Sink_Out_Sandwiched_Statement(), Sink_Sandwiched_Code_In(), SNL_Distribute(), SNL_GEN_2D_Regtile(), SNL_GEN_Protect_Nest_With_Conditionals(), SNL_GEN_U_Ctiling(), SNL_INV_Cache_Block(), SNL_INV_Local_Permute_Loops(), SNL_Peel_Iteration(), SNL_Regtile_Loop(), SNL_SPL_Split_Tile_Sets(), Transform_Code(), Unroll_Loop_By_Trip_Count(), UT_Generate_Imperfect_If_Code(), Version_and_Splice_Loop(), Version_Loop(), Version_Loop_Pair(), Version_Region(), and Wind_Down().

void LWN_Insert_Block_Before ( WN block,
WN wn,
WN in 
)

Definition at line 380 of file lwn_util.cxx.

References first, Is_True, last, LWN_Get_Parent, LWN_Set_Parent, NULL, OPC_BLOCK, OPCODE_is_scf(), OPCODE_is_stmt(), WN_Delete, WN_first(), WN_last(), WN_next(), WN_opcode(), and WN_prev().

Referenced by Add_Doacross_Comments(), Add_Parallel_Region_Comments(), Add_Pragma_To_MP_Region(), PF_LOOPNODE::Add_Ref(), Assign_Doacross_Mpnums(), Assign_Parallel_Region_Mpnums(), Convert_Alloca_To_Intrinsic(), Convert_Dealloca_To_Intrinsic(), DISTR_ARRAY::Convert_Expr_To_Symbol(), Convert_Intrinsic_To_Alloca_Dealloca(), Copy_Array(), Copy_Array_Section(), Copy_Loads_In_Bound(), Copy_Non_Constant_Parm(), Create_Initialize_Loop(), LEGO_INFO::Create_Local_Index(), Create_Simple_Shackle_Loops(), Create_Single_Region(), Create_Unroll_Copy(), Delete_MP_Region(), Dismantle_Do(), ARRAY_DESCRIPTOR::Distribute_Array(), Extract_Branch(), Finalize_Index_Variable(), Finalize_Index_Variable_For_Remove_Unity_Trip_Loop(), Freeze_Cur_Numthreads_Func(), Freeze_Numthreads_Ldid(), Fuse(), Gather_Scatter_Scalar_Expand(), Gen_HT_DART(), Gen_Malloc_Cart(), Gen_Migrate_Array(), PF_LG::Gen_Pref_Node(), Generate_Blkcyc_Bounds(), Generate_Block_Bounds(), Generate_Block_Bounds_Negative(), ARA_LOOP_INFO::Generate_Copyout_Loop(), Generate_Cyclic_Bounds(), Generate_Dynamic_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Runtime_Cyclic_Bounds(), Generate_Simple_Bounds(), Get_Expansion_Space(), Get_Runtime_Numthreads_Ldid_From_Func(), Guard_A_Do(), Guard_Test_Redundant(), Handle_Sink_General_Case(), Handle_Sink_Redundant_Case(), Handle_Sink_Symbolic_Non_Promotion_Case(), HMB_Hoist_Expressions(), HMB_Replace_Messy_Bounds(), Hoist_Conditionals(), Hoist_Expression(), Hoist_Necessary_Code_Up(), Hoist_Statement(), HoistIf(), IFMM_Convert(), Initialize_Doacross_Last_Local_Index(), Initialize_Pdo_Last_Local_Index(), Instrument_Address(), IPO_propagate_globals(), LNO_Insert_Pragmas(), Lower_Distr_Pragmas(), LWN_Create_Block_From_Stmts_Below(), LWN_Process_FF_Pragmas_Walk_r(), MIR_Replace(), Move_Adjacent(), Move_Alloca(), Move_To_PU_Pragma_List(), Mp_Collapse_Loop_Heads(), Mp_Coordinate_Call(), Mp_Coordinate_Copy_Out_Coordinates(), Mp_Extract_Bogus_Do_Across(), Mp_Extract_Parallel_Directives(), Mp_Insert_Bounds_Code(), Mp_Layout_Call(), Mp_Layout_Copy_In_Onto(), Mp_Layout_Copy_Out_Layout(), Mp_Layout_Lego_Layout(), Mp_Nested_Last_Thread(), Numprocs(), Parallelize_Doacross_Loop(), Perform_Gather_Scatter(), Post_loop_peeling(), Pre_loop_peeling(), Process_Actual(), IPO_INLINE::Process_Alloca_Preamble(), IPO_INLINE::Process_Barriers(), IPO_INLINE::Process_Copy_In(), IPO_INLINE::Process_Copy_In_Copy_Out(), Process_If(), Process_Store(), Processor_Update_Inner_Tile(), Processor_Update_Outer_Tile(), Propagate_Constants(), Read_Pragma_Data_Affinity(), Read_Pragma_Thread_Affinity(), Remove_Unity_Trip_Loop(), Remove_Zero_Trip_Loop(), Replace_Scalar_Store_With_Array_Store(), Reset_param_list(), Rewrite_Bounds(), RR_Map_Setup_Traverse(), Scalar_Expand(), SE_Istore(), Separate_And_Update(), separate_loop_and_scalar_expand(), separate_loop_by_scc(), Simd_Align_Generate_Peel_Loop(), simd_fis_separate_loop_and_scalar_expand(), Simd_Vectorize_Induction_Variables(), Simd_Vectorize_Scalar_Reduction(), Sink_If2do(), SNL_Distribute(), SNL_GEN_2D_Regtile(), SNL_INV_Cache_Block(), SNL_Peel_Iteration(), SNL_Regtile_Loop(), Split_Array(), PF_LOOPNODE::Split_Loops(), Thread_Affinity_Lower(), toplogical_reordering(), Transform_Code(), Twod_Setbound(), UT_Generate_Imperfect_If_Code(), vintr_fis_separate_loop_and_scalar_expand(), and Vintrinsic_Fission().

WN* LWN_Int_Type_Conversion ( WN wn,
TYPE_ID  to_type 
)

void LWN_Parentize ( WN wn  ) 

Definition at line 868 of file lwn_util.cxx.

References INT, LWN_Parentize(), LWN_Set_Parent, OPC_BLOCK, OPCODE_is_leaf(), WN_first(), WN_kid(), WN_kid_count(), WN_next(), and WN_opcode().

Referenced by Add_Condition(), Add_To_Symbol(), analyze_stmts_in_func_for_if(), Anl_Static_Analysis(), BND_Max_Expr(), DISTR_ARRAY::Convert_Expr_To_Symbol(), Convert_Intrinsic_To_Alloca_Dealloca(), Convert_Le_With_Floor_2Lt(), Create_array(), Create_Array_Load(), Create_Array_Store(), Create_Initialize_Loop(), Create_Shackle_If_All_Stmts(), Create_Simple_Shackle_Loops(), Create_Single_Region(), Create_Unroll_Copy(), ARRAY_DESCRIPTOR::Distribute_Array(), Fuse(), Gen_CheckNo_DART(), ARA_LOOP_INFO::Generate_Copyout_Loop(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Simple_Bounds(), Get_Expansion_Space(), HoistIf(), HoistIf_Optimize(), IPA_Propagate_Constants(), IPO_propagate_globals(), Lnoptimizer(), Lower_Single_Array_Dim(), LWN_Parentize(), LWN_Simplify_Tree(), Mark_Dos(), Mp_Collapse_Loop_Heads(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), New_DACT(), Numprocs(), Parallelize_Doacross_Loop(), Phase_123(), Post_loop_peeling(), Pre_loop_peeling(), SUMMARIZE< program >::Process_procedure(), Propagate_Constants(), Remove_Floor_From_One_Sided_Cond(), Replace_Equality_Check(), return_upper_bound(), SA_Version_F90_Loops_For_Contiguous(), separate_loop_and_scalar_expand(), separate_loop_by_scc(), SHACKLE_Phase(), Simd(), Simd_Align_Generate_Peel_Loop(), Simd_Finalize_Loops(), simd_fis_separate_loop_and_scalar_expand(), Simd_Handle_Negative_Coefficient(), Simd_Mark_Code(), Simd_Unroll_Statement(), Simd_Vectorize_Induction_Variables(), Simd_Vectorize_Scalar_Reduction(), Simplify_Cond_With_Div_Floor(), Simplify_Cond_With_Floor(), Solve_For(), Split_Region(), SUMMARIZE< program >::Summarize(), vintr_fis_separate_loop_and_scalar_expand(), and Vintrinsic_Fission().

void LWN_Scale_Frequency ( const WN ,
const   float 
) [inline]

void LWN_Scale_Frequency_Tree ( const WN ,
const   float 
)

void LWN_Set_Frequency ( const WN ,
const   INT32 
) [inline]

Definition at line 374 of file lwn_util.h.

Referenced by SNL_GEN_U_Ctiling(), SNL_INV_Cache_Block(), and Tile_Loop().

void LWN_Set_Frequency_Tree ( const WN ,
const   INT32 
)

WN* LWN_Simplify_Tree ( WN wn  ) 

TYPE_ID Promote_Type ( TYPE_ID  mtype  ) 

Definition at line 1494 of file lwn_util.cxx.

References MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_U1, MTYPE_U2, MTYPE_U4, and TYPE_ID.

BOOL Tree_Equiv ( WN wn1,
WN wn2 
)


Variable Documentation

Definition at line 161 of file lnopt_main.cxx.


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