Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include <elf.h>
#include <sys/types.h>
#include "wn_util.h"
#include "lwn_util.h"
#include "ipa_section.h"
#include "ipa_lno_file.h"
#include "ipl_lno_util.h"
#include "ipl_summarize.h"
#include "ipl_array_bread_write.h"
Go to the source code of this file.
Functions | |
TYPE_ID | Machine_Type (WN *wn_argument) |
INT32 | Formal_Position (const ST *formal_st) |
INT | Node_Count (WN *wn_node, INT limit, BOOL symbol_only) |
WN * | True_Bound (WN *wn_func, ST_IDX st_idx_exp) |
static BOOL | Is_Constant_Tree (WN *wn_exp, INT64 *const_value) |
static BOOL | Is_Exp_Linexable (WN *wn_exp, BOOL Is_LNO) |
static void | Exp_To_Linex_Array (WN *wn_exp, TERM_ARRAY *terms, MEM_POOL *mem_pool, BOOL Is_LNO, IPA_LNO_READ_FILE *IPA_LNO_File) |
BOOL | Exp_To_Linex (WN *wn_exp, LINEX *lx_exp, MEM_POOL *mem_pool, BOOL negate, BOOL Is_LNO, IPA_LNO_READ_FILE *IPA_LNO_File) |
PROJECTED_REGION * | Projected_Region_From_St (WN *wn_func, ST *st, MEM_POOL *mem_pool, BOOL Is_LNO, IPA_LNO_READ_FILE *IPA_LNO_File) |
PROJECTED_REGION * | Projected_Region_From_Access_Array (ACCESS_ARRAY *aa, MEM_POOL *mem_pool, IPA_LNO_READ_FILE *IPA_LNO_File) |
Variables | |
SUMMARY * | Summary |
ARRAY_SUMMARY | Array_Summary |
BOOL Exp_To_Linex | ( | WN * | wn_exp, |
LINEX * | lx_exp, | ||
MEM_POOL * | mem_pool, | ||
BOOL | negate, | ||
BOOL | Is_LNO, | ||
IPA_LNO_READ_FILE * | IPA_LNO_File | ||
) |
Definition at line 377 of file ipl_lno_util.cxx.
References Exp_To_Linex_Array(), FALSE, TERM::Get_coeff(), Is_Exp_Linexable(), TERM::Set_coeff(), LINEX::Set_term(), and TRUE.
Referenced by Projected_Region_From_St().
static void Exp_To_Linex_Array | ( | WN * | wn_exp, |
TERM_ARRAY * | terms, | ||
MEM_POOL * | mem_pool, | ||
BOOL | Is_LNO, | ||
IPA_LNO_READ_FILE * | IPA_LNO_File | ||
) | [static] |
Definition at line 254 of file ipl_lno_util.cxx.
References IPA_LNO_READ_FILE::Add_Translated_Ivar_Unique(), CONST_DESC, FmtAssert, Formal_Position(), GLOBAL_SYMTAB, idx, Is_Constant_Tree(), LTKIND_CONST, LTKIND_IV, NULL, OPR_ADD, OPR_INTCONST, OPR_LDID, OPR_MPY, OPR_NEG, OPR_SUB, SCLASS_FORMAL, SCLASS_FORMAL_REF, ST_IDX_level(), ST_sclass(), ST_st_idx(), TRUE, WN_const_val(), WN_kid0(), WN_kid1(), WN_offset(), WN_operator(), WN_rtype(), and WN_st().
Referenced by Exp_To_Linex().
INT32 Formal_Position | ( | const ST * | formal_st | ) |
Definition at line 81 of file ipl_lno_util.cxx.
References Current_PU_Info, Fail_FmtAssertion(), FmtAssert, Is_True, PU_Info_tree_ptr, SCLASS_FORMAL, SCLASS_FORMAL_REF, ST_name(), ST_sclass(), WN_formal, WN_num_formals, and WN_st().
Referenced by Exp_To_Linex_Array(), and LINEX::Map_access_vector().
static BOOL Is_Constant_Tree | ( | WN * | wn_exp, |
INT64 * | const_value | ||
) | [static] |
Definition at line 165 of file ipl_lno_util.cxx.
References FALSE, OPR_ADD, OPR_INTCONST, OPR_MPY, OPR_NEG, OPR_SUB, TRUE, WN_const_val(), WN_kid0(), WN_kid1(), and WN_operator().
Referenced by Exp_To_Linex_Array(), and Is_Exp_Linexable().
static BOOL Is_Exp_Linexable | ( | WN * | wn_exp, |
BOOL | Is_LNO | ||
) | [static] |
Definition at line 211 of file ipl_lno_util.cxx.
References CLASS_VAR, CURRENT_SYMTAB, FALSE, GLOBAL_SYMTAB, Is_Constant_Tree(), OPR_ADD, OPR_INTCONST, OPR_LDID, OPR_MPY, OPR_NEG, OPR_SUB, SCLASS_FORMAL, SCLASS_FORMAL_REF, ST_class(), ST_level(), ST_sclass(), TRUE, WN_kid(), WN_kid0(), WN_kid1(), WN_kid_count(), WN_operator(), and WN_st().
Referenced by Exp_To_Linex().
TYPE_ID Machine_Type | ( | WN * | wn_argument | ) |
Definition at line 54 of file ipl_lno_util.cxx.
References KIND_ARRAY, KIND_POINTER, MTYPE_UNKNOWN, OPCODE_has_sym(), OPR_PARM, ST_type(), TY_etype(), TY_kind(), TY_mtype(), TY_pointed(), WN_kid0(), WN_opcode(), WN_operator(), and WN_st().
INT Node_Count | ( | WN * | wn_node, |
INT | limit, | ||
BOOL | symbol_only | ||
) |
Definition at line 108 of file ipl_lno_util.cxx.
References Node_Count(), NULL, OPC_BLOCK, OPCODE_has_sym(), wn, WN_first(), WN_kid(), WN_kid_count(), WN_next(), and WN_opcode().
Referenced by Node_Count().
PROJECTED_REGION* Projected_Region_From_Access_Array | ( | ACCESS_ARRAY * | aa, |
MEM_POOL * | mem_pool, | ||
IPA_LNO_READ_FILE * | IPA_LNO_File | ||
) |
Definition at line 495 of file ipl_lno_util.cxx.
PROJECTED_REGION* Projected_Region_From_St | ( | WN * | wn_func, |
ST * | st, | ||
MEM_POOL * | mem_pool, | ||
BOOL | Is_LNO, | ||
IPA_LNO_READ_FILE * | IPA_LNO_File | ||
) |
Definition at line 406 of file ipl_lno_util.cxx.
References CONST_DESC, CXX_NEW, Exp_To_Linex(), FALSE, FmtAssert, PROJECTED_NODE::Get_lower_linex(), PROJECTED_REGION::Get_projected_array(), PROJECTED_NODE::Get_step_linex(), PROJECTED_NODE::Get_upper_linex(), PROJECTED_NODE::Init(), PROJECTED_NODE::Is_messy_ub(), KIND_ARRAY, KIND_POINTER, LTKIND_CONST, NON_MESSY_REGION, NULL, PROJECTED_NODE::Reset_is_unprojected(), PROJECTED_REGION::Reset_is_unprojected(), PROJECTED_NODE::Set_assumed_shape(), PROJECTED_REGION::Set_is_formal(), PROJECTED_NODE::Set_messy_ub(), LINEX::Set_term(), LINEX::Simplify(), ST_type(), TRUE, True_Bound(), TY_AR_const_lbnd(), TY_AR_const_ubnd(), TY_AR_lbnd_val(), TY_AR_lbnd_var(), TY_AR_ndims(), TY_AR_ubnd_val(), TY_AR_ubnd_var(), TY_kind(), and TY_pointed().
WN* True_Bound | ( | WN * | wn_func, |
ST_IDX | st_idx_exp | ||
) |
Definition at line 141 of file ipl_lno_util.cxx.
References NULL, OPR_STID, wn, wn_iter::wn, WN_kid0(), WN_operator(), WN_st_idx(), WN_WALK_TreeIter(), and WN_WALK_TreeNext().
Referenced by Projected_Region_From_St().
SUMMARY* Summary |