#include <stdint.h>#include <elf.h>#include "defs.h"#include "tracing.h"#include "loop_info.h"#include "if_info.h"#include "soe.h"#include "opt_alias_interface.h"#include "ipl_main.h"#include "ir_reader.h"#include "cxx_hash.h"#include "lwn_util.h"#include "be_util.h"#include "ipl_summary.h"#include "ipl_summarize.h"

Go to the source code of this file.
| #define __STDC_LIMIT_MACROS |
Definition at line 57 of file loop_info.cxx.
| typedef HASH_TABLE<char*, ST*> ST_TBL |
Definition at line 95 of file loop_info.cxx.
Definition at line 679 of file loop_info.cxx.
References HASH_TABLE< SIG_TYPE, DATA_TYPE >::Enter(), Find_Match(), INT32, IPL_reduc_map, LWN_Get_Parent, Mark_Formals_In_Reduction_Increment(), OPR_ADD, OPR_DO_LOOP, OPR_ISTORE, OPR_MAX, OPR_MIN, OPR_MPY, OPR_STID, OPR_SUB, RED_ADD, RED_MAX, RED_MIN, RED_MPY, RED_NONE, Self_Dependent_Store(), ST_name, WN_kid0(), WN_MAP32_Set, WN_opcode(), WN_operator(), WN_st(), and WN_step.
Definition at line 857 of file loop_info.cxx.
References FALSE, INT, TRUE, WN_Equiv(), WN_kid(), and WN_kid_count().
Referenced by lower_bit_field_id(), and Match().
Definition at line 784 of file loop_info.cxx.
References Match(), NULL, Opcode_Match(), OPCODE_operator(), OPR_SUB, result, WN_kid0(), WN_kid1(), and WN_opcode().
Referenced by Check_Reduction().
| static void IPL_Build_Access_Array | ( | WN * | wn, | |
| DOLOOP_STACK * | stack, | |||
| MEM_POOL * | pool | |||
| ) | [static] |
Definition at line 557 of file loop_info.cxx.
References CXX_NEW, STACK< T >::Elements(), fprintf(), IPL_info_map, ACCESS_ARRAY::Set_Array(), trace_section, WN_MAP_Set, and WN_num_dim.
Referenced by IPL_Build_Access_Vectors().
Definition at line 374 of file loop_info.cxx.
References CXX_DELETE, CXX_NEW, Get_Trace(), IPL_Build_Access_Vectors(), IPL_Print_Access(), MEM_POOL_Pop, MEM_POOL_Push, TP_IPL, and TT_IPL_VERBOSE.
Referenced by IPL_Build_Access_Vectors(), and SUMMARIZE< program >::Process_procedure().
| static void IPL_Build_Access_Vectors | ( | WN * | wn, | |
| DOLOOP_STACK * | stack, | |||
| MEM_POOL * | pool | |||
| ) | [static] |
Definition at line 616 of file loop_info.cxx.
References INT, IPL_Build_Access_Array(), IPL_Build_Access_Vectors(), IPL_Build_Do_Access(), IPL_Build_If_Access(), OPC_BLOCK, OPC_DO_LOOP, OPC_IF, OPR_ARRAY, STACK< T >::Pop(), STACK< T >::Push(), WN_first(), WN_kid(), WN_kid_count(), WN_next(), WN_opcode(), and WN_operator().
| static void IPL_Build_Do_Access | ( | WN * | wn, | |
| DOLOOP_STACK * | stack | |||
| ) | [static] |
Definition at line 396 of file loop_info.cxx.
References BOOL, ACCESS_VECTOR::Const_Offset, CXX_NEW, ACCESS_ARRAY::Dim(), STACK< T >::Elements(), FALSE, FmtAssert, DO_LOOP_INFO_BASE::Get_depth(), DO_LOOP_INFO_BASE::Get_lb(), DO_LOOP_INFO_BASE::Get_ub(), INT, INT8, IPL_info_map, ACCESS_VECTOR::Is_Const(), Is_True, ACCESS_VECTOR::Loop_Coeff(), NULL, Num_Lower_Bounds(), Num_Upper_Bounds(), ACCESS_ARRAY::Num_Vec(), OPCODE_is_compare(), OPR_ADD, OPR_LDID, OPR_STID, OPR_SUB, DO_LOOP_INFO_BASE::Pool(), pool, STACK< T >::Pop(), STACK< T >::Push(), s, ACCESS_VECTOR::Set(), ACCESS_ARRAY::Set_LB(), DO_LOOP_INFO_BASE::Set_lb(), DO_LOOP_INFO_BASE::Set_step(), DO_LOOP_INFO_BASE::Set_ub(), ACCESS_ARRAY::Set_UB(), SYMBOL::St(), step(), symbol, ACCESS_VECTOR::Too_Messy, ACCESS_ARRAY::Too_Messy, TRUE, UBvar(), WN_end, WN_index, WN_kid(), WN_MAP_Get, WN_opcode(), WN_operator(), WN_start, and WN_step.
Referenced by IPL_Build_Access_Vectors().
| static void IPL_Build_If_Access | ( | WN * | wn, | |
| DOLOOP_STACK * | stack | |||
| ) | [static] |
Definition at line 575 of file loop_info.cxx.
References BOOL, compare, IF_INFO::Condition, IF_INFO::Condition_On_Then, CXX_NEW, STACK< T >::Elements(), FALSE, info, INT, IPL_info_map, Is_True, Num_Lands(), Num_Liors(), OPC_IF, OPR_LIOR, OPR_LNOT, pool, IF_INFO::Pool(), ACCESS_ARRAY::Set_IF(), TRUE, WN_if_test, WN_kid0(), WN_MAP_Get, WN_opcode(), and WN_operator().
Referenced by IPL_Build_Access_Vectors().
| void IPL_Finalize_Par_Code | ( | ) |
Definition at line 211 of file loop_info.cxx.
References IPL_info_map, IPL_reduc_map, MEM_POOL_Pop, and WN_MAP_Delete.
Referenced by SUMMARIZE< program >::Process_procedure().
| void IPL_Initialize_Par_Code | ( | ) |
Definition at line 186 of file loop_info.cxx.
References CXX_NEW, Get_Trace(), IPL_info_map, IPL_reduc_map, Loop_pool_initialized, MEM_POOL_Initialize, MEM_POOL_Push, TP_IPL, trace_section, TRUE, TT_IPL_SECTION, WN_MAP32_Create, and WN_MAP_Create.
Referenced by SUMMARIZE< program >::Process_procedure().
Definition at line 223 of file loop_info.cxx.
References CXX_NEW, Mark_Code(), mUINT8, and stack.
Referenced by SUMMARIZE< program >::Process_procedure().
Definition at line 873 of file loop_info.cxx.
References INT, IPL_Print_One_Access(), OPC_BLOCK, OPCODE_is_leaf(), WN_first(), WN_kid(), WN_kid_count(), WN_next(), and WN_opcode().
Referenced by IPL_Build_Access_Vectors().
Definition at line 902 of file loop_info.cxx.
References fprintf(), info, IPL_info_map, OPC_DO_LOOP, OPC_IF, OPR_ARRAY, DO_LOOP_INFO_BASE::Print(), ACCESS_ARRAY::Print(), trace_section, WN_MAP_Get, WN_opcode(), and WN_operator().
Referenced by IPL_Print_Access().
| static void Mark_Code | ( | WN * | wn, | |
| STACK_OF_WN * | stack, | |||
| DLI_BASE_STACK * | dlistack, | |||
| IF_STACK * | if_stack, | |||
| mUINT8 | depth | |||
| ) | [static] |
Definition at line 129 of file loop_info.cxx.
References SUMMARIZE< program >::Get_symbol(), SUMMARIZE< program >::Get_symbol_index(), idx, INT32, SCLASS_FORMAL, SCLASS_FORMAL_REF, SUMMARY_SYMBOL::Set_used_in_array_section(), ST_sclass, Summary, and sym.
Referenced by Mark_Formals_In_Tree(), and Mark_used_formal_symbols().
Definition at line 658 of file loop_info.cxx.
References Mark_Formals_In_Tree(), OPR_LDID, OPR_STID, WN_kid0(), WN_kid1(), WN_kid_count(), and WN_operator().
Referenced by Check_Reduction().
Definition at line 649 of file loop_info.cxx.
References INT, Mark_formal_summary_symbol(), OPCODE_has_sym(), WN_kid(), WN_kid_count(), WN_opcode(), and WN_st().
Referenced by Mark_Formals_In_Reduction_Increment().
Definition at line 760 of file loop_info.cxx.
References Equiv(), FALSE, OPR_ILOAD, OPR_ISTORE, OPR_LDID, OPR_STID, ST_base, ST_ofst, WN_kid0(), WN_kid1(), WN_offset(), WN_operator(), and WN_st().
Referenced by Find_Match().
Definition at line 143 of file loop_info.cxx.
References FALSE, OPCODE_desc(), OPCODE_operator(), OPCODE_rtype(), OPR_ADD, OPR_SUB, and TRUE.
Referenced by Find_Match().
| void Print_DO_LOOP_INFO_BASE | ( | FILE * | fp, | |
| DO_LOOP_INFO_BASE * | b | |||
| ) |
Definition at line 745 of file loop_info.cxx.
References FALSE, HASH_TABLE< SIG_TYPE, DATA_TYPE >::Find(), FmtAssert, OPR_STID, ST_name, TRUE, WN_operator(), and WN_st().
Definition at line 823 of file loop_info.cxx.
References Aliased(), FALSE, INT, NOT_ALIASED, OPR_ARRAY, OPR_LDA, OPR_LDID, result, TRUE, WN_array_base, WN_kid(), WN_kid1(), WN_kid_count(), and WN_operator().
Referenced by Check_Reduction().
Definition at line 159 of file loop_info.cxx.
References LWN_Get_Parent, NULL, OPC_DO_LOOP, OPR_GE, OPR_GT, OPR_LDID, OPR_LE, OPR_LT, WN_index, WN_kid0(), WN_kid1(), WN_opcode(), and WN_operator().
Referenced by Fiss_Gather_Inner_Loop(), Hoist_Bounds_One_Level(), Hoist_Iload_Ldid_Upper_Bound_One_Level(), Hoist_Lower_Bound(), Hoist_Upper_Bound(), IPL_Build_Do_Access(), Lego_Skew_Index(), LNO_Build_Do_Access(), SNL_Legal_Perm_Bounds(), SNL_Optimize_UB_With_Access_Vectors(), STD_Canonicalize_Upper_Bound(), and Upper_Bound_Standardize().
Definition at line 86 of file loop_info.cxx.
Definition at line 87 of file loop_info.cxx.
Definition at line 91 of file loop_info.cxx.
Referenced by IPL_Build_Access_Array(), IPL_Build_Do_Access(), IPL_Build_If_Access(), IPL_Finalize_Par_Code(), IPL_Initialize_Par_Code(), IPL_Print_One_Access(), process_actual_array_node(), process_array_node(), process_loops(), and SUMMARIZE< program >::Process_procedure().
Definition at line 90 of file loop_info.cxx.
Definition at line 89 of file loop_info.cxx.
Definition at line 92 of file loop_info.cxx.
Referenced by Check_Reduction(), IPL_Finalize_Par_Code(), IPL_Initialize_Par_Code(), process_node(), and SUMMARIZE< program >::Process_procedure().
BOOL Loop_pool_initialized = FALSE [static] |
Definition at line 96 of file loop_info.cxx.
BOOL trace_section = FALSE [static] |
Definition at line 93 of file loop_info.cxx.
Referenced by IPL_Build_Access_Array(), IPL_Initialize_Par_Code(), and IPL_Print_One_Access().
1.5.6