#include <stdint.h>#include <sys/types.h>#include <limits.h>#include "defs.h"#include "pf_loop.h"#include "pf_ref.h"#include "pf_manual.h"#include "lwn_util.h"#include "lnopt_main.h"#include "pf_cg.h"#include "tlog.h"#include "targ_sim.h"#include "opt_du.h"#include "lnoutils.h"#include "prompf.h"

Go to the source code of this file.
Defines | |
| #define | __STDC_LIMIT_MACROS |
| #define | minof(x, y) (((x)<(y)) ? (x) : (y)) |
Functions/Subroutines | |
| WN * | Find_SCF_Inside (WN *parent_wn, OPCODE opc) |
| INT64 | Get_Good_Num_Iters (DO_LOOP_INFO *dli) |
| static BOOL | Contains_Array (WN *exp) |
| static BOOL | Loop_Before_MP_Region (WN *wn) |
| static BOOL | Store_Is_Useless (const WN *istore_wn) |
| mINT16 | Loop_Confidence (DO_LOOP_INFO *dli) |
| BOOL | Check_Version_Map (WN *body_orig, WN *body_new) |
| static void | Collect_Labels_Gotos (WN *newbody, WN_DA *gotos, WN_DA *labels) |
| static void | Rename_Labels_Gotos (WN *newbody) |
| WN * | While_Before_Do (WN *do_wn) |
| #define __STDC_LIMIT_MACROS |
Definition at line 133 of file pf_loop.cxx.
| #define minof | ( | x, | |||
| y | ) | (((x)<(y)) ? (x) : (y)) |
Definition at line 157 of file pf_loop.cxx.
Referenced by PF_LG::Add_Group(), PF_LG::Add_Ref(), PF_LG::Gen_Pref_Node(), PF_LG::Volume(), and PF_LOOPNODE::Volume().
Definition at line 1070 of file pf_loop.cxx.
References ARRAY_DIRECTED_GRAPH16::Get_Vertex(), INT, Is_True, NULL, OPC_BLOCK, OPCODE_is_load(), OPCODE_is_store(), OPCODE_operator(), OPR_ARRAY, OPR_ILOAD, OPR_ISTORE, pf_array_dep_graph, TRUE, version_map, WN_first(), WN_kid(), WN_kid0(), WN_kid1(), WN_kid_count(), WN_MAP_Get, WN_next(), WN_opcode(), and WN_operator().
Referenced by PF_LOOPNODE::Split_Loops().
Definition at line 1122 of file pf_loop.cxx.
References INT, NULL, OPC_BLOCK, OPC_LABEL, OPCODE_has_label(), OPCODE_is_scf(), OPCODE_is_stmt(), STACK< T >::Push(), WN_first(), WN_kid(), WN_kid_count(), WN_next(), and WN_opcode().
Referenced by Rename_Labels_Gotos().
Definition at line 166 of file pf_loop.cxx.
References FALSE, INT, OPR_ARRAY, TRUE, WN_kid(), WN_kid_count(), and WN_operator().
Referenced by PF_LOOPNODE::Add_Ref().
Definition at line 1086 of file ff_utils.cxx.
References LWN_Get_Next_SCF_Node(), NULL, Wn_Is_Inside(), and WN_opcode().
| INT64 Get_Good_Num_Iters | ( | DO_LOOP_INFO * | dli | ) |
Definition at line 224 of file pf_ref.cxx.
References DO_LOOP_INFO::Est_Max_Iterations_Index, DO_LOOP_INFO::Est_Num_Iterations, INT64, and DO_LOOP_INFO::Num_Iterations_Symbolic.
Referenced by Cache_Model(), PF_LG::Get_Bit_Vec(), Mark_Dos(), SNL_Inner_Cache_Cost(), PF_LOOPNODE::Split_Loops(), and PF_LG::Volume().
Definition at line 187 of file pf_loop.cxx.
References DevWarn, FALSE, Is_Mp_Region(), LWN_Get_Parent, OPR_DO_LOOP, TRUE, and WN_operator().
Referenced by PF_LOOPNODE::Add_Ref().
| mINT16 Loop_Confidence | ( | DO_LOOP_INFO * | dli | ) |
Definition at line 841 of file pf_loop.cxx.
References DO_LOOP_INFO::Est_Max_Iterations_Index, mINT16, and DO_LOOP_INFO::Num_Iterations_Symbolic.
Referenced by PF_LG::Gen_Pref_Node(), and PF_LOOPNODE::Volume().
Definition at line 1155 of file pf_loop.cxx.
References STACK< T >::Bottom_nth(), Collect_Labels_Gotos(), Current_Symtab, CURRENT_SYMTAB, STACK< T >::Elements(), i, INT, INT32, Is_True, new_label, New_LABEL(), NULL, old_label, PF_mpool, STACK< T >::Push(), SYMTAB_last_label, void, WN_label_number(), and WN_st().
Referenced by PF_LOOPNODE::Split_Loops().
Definition at line 568 of file pf_loop.cxx.
References FALSE, Is_True, OPR_ARRAY, OPR_ISTORE, OPR_LDA, ST_is_not_used, TRUE, WN_array_base, WN_kid1(), WN_operator(), and WN_st().
Referenced by PF_LOOPNODE::Process_Refs().
Definition at line 1422 of file pf_loop.cxx.
References FmtAssert, LWN_Get_Parent, NULL, OPC_DO_LOOP, OPR_DO_LOOP, OPR_DO_WHILE, OPR_WHILE_DO, WN_opcode(), and WN_operator().
Referenced by PF_LOOPNODE::Find_Loc_Loops().
1.5.6