Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defs.h"
#include "errors.h"
#include "erglob.h"
#include "tracing.h"
#include "wn.h"
#include "stab.h"
#include "wn_util.h"
#include "ir_reader.h"
#include "config.h"
#include "config_opt.h"
#include "config_targ.h"
#include "const.h"
#include "targ_const.h"
#include "opt_alias_interface.h"
#include "wn_simp.h"
#include "upc_symtab_utils.h"
#include "wn_simp_code.h"
Go to the source code of this file.
#define SIMPNODE_array_base WN_array_base |
Definition at line 106 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_array_dim WN_array_dim |
Definition at line 108 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_array_index WN_array_index |
Definition at line 107 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_bit_offset WN_bit_offset |
Definition at line 116 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
Definition at line 136 of file wn_simp.cxx.
Referenced by cancel_in_relop(), simp_diff_value(), and SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_const_val WN_const_val |
Definition at line 112 of file wn_simp.cxx.
Referenced by SIMP_Int_ConstVal(), and SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_CopyNode WN_CopyNode |
Definition at line 132 of file wn_simp.cxx.
Referenced by Fold2_Into_Select(), simp_shift(), and simp_times().
Definition at line 134 of file wn_simp.cxx.
Referenced by simp_div(), SIMPNODE_ConstantFold1(), SIMPNODE_ConstantFold2(), and SIMPNODE_SimplifyIntrinsic().
Definition at line 133 of file wn_simp.cxx.
#define SIMPNODE_cvtl_bits WN_cvtl_bits |
Definition at line 95 of file wn_simp.cxx.
Referenced by simp_cvtl(), and SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_DELETE WN_Delete |
Definition at line 131 of file wn_simp.cxx.
Referenced by cancel_in_relop(), simp_delete(), and simp_shift().
#define SIMPNODE_desc | ( | x | ) | WN_desc(x) |
Definition at line 92 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_element_size WN_element_size |
Definition at line 102 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_enable Enable_WN_Simp |
Definition at line 118 of file wn_simp.cxx.
Referenced by SIMPNODE_SimplifyCvtl(), SIMPNODE_SimplifyExp1(), SIMPNODE_SimplifyExp2_h(), SIMPNODE_SimplifyExp3(), and SIMPNODE_SimplifyIntrinsic().
#define SIMPNODE_fconst_val Const_Val |
Definition at line 113 of file wn_simp.cxx.
Referenced by SIMP_Flt_ConstVal().
#define SIMPNODE_field_id WN_field_id |
Definition at line 114 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_i_bit_offset WN_bit_offset |
Definition at line 117 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_i_field_id WN_field_id |
Definition at line 115 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
Definition at line 103 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_intrinsic WN_intrinsic |
Definition at line 109 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_kid WN_kid |
Definition at line 111 of file wn_simp.cxx.
Referenced by Fold2_Into_Select(), simp_cvtl(), SIMPNODE_Simp_Compare_Trees(), and SIMPNODE_SimplifyExp1().
#define SIMPNODE_kid WN_kid |
Definition at line 111 of file wn_simp.cxx.
#define SIMPNODE_kid0 WN_kid0 |
Definition at line 99 of file wn_simp.cxx.
Referenced by cancel_in_relop(), Fold2_Into_Select(), simp_abs(), simp_add_sub(), simp_band(), simp_bior(), simp_bxor(), simp_cvt(), simp_cvtl(), simp_div(), simp_eq_neq(), simp_factor(), simp_factor_idty(), simp_land(), simp_lior(), simp_neg(), simp_not(), simp_recip(), simp_relop(), simp_shift(), simp_times(), SIMPNODE_Simp_Compare_Trees(), SIMPNODE_SimplifyExp1(), SIMPNODE_SimplifyExp2_h(), and SIMPNODE_SimplifyIntrinsic().
#define SIMPNODE_kid1 WN_kid1 |
Definition at line 100 of file wn_simp.cxx.
Referenced by cancel_in_relop(), Fold2_Into_Select(), simp_add_sub(), simp_band(), simp_bior(), simp_bxor(), simp_cvt(), simp_cvtl(), simp_eq_neq(), simp_factor(), simp_factor_idty(), simp_neg(), simp_not(), simp_relop(), simp_shift(), simp_times(), SIMPNODE_Simp_Compare_Trees(), SIMPNODE_SimplifyExp1(), and SIMPNODE_SimplifyExp2_h().
#define SIMPNODE_kid_count WN_kid_count |
Definition at line 110 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_lda_offset WN_lda_offset |
Definition at line 104 of file wn_simp.cxx.
Referenced by cancel_in_relop(), get_lda_info(), simp_add_sub(), simp_diff_value(), and SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_load_offset WN_load_offset |
Definition at line 94 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_num_dim WN_num_dim |
Definition at line 105 of file wn_simp.cxx.
Referenced by SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_op_bit_offset WN_bit_offset |
Definition at line 119 of file wn_simp.cxx.
Referenced by simp_bior(), and SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_op_bit_size WN_bit_size |
Definition at line 120 of file wn_simp.cxx.
Referenced by simp_bior(), and SIMPNODE_Simp_Compare_Trees().
#define SIMPNODE_opcode WN_opcode |
Definition at line 93 of file wn_simp.cxx.
Referenced by cancel_in_relop(), get_value_type(), simp_abs(), simp_band(), simp_bior(), simp_bxor(), simp_cvt(), simp_cvtl(), simp_eq_neq(), simp_factor(), simp_factor_idty(), simp_neg(), simp_not(), simp_shift(), simp_times(), SIMPNODE_Simp_Compare_Trees(), SIMPNODE_SimplifyExp2_h(), and SIMPNODE_SimplifyExp3().
#define SIMPNODE_operator | ( | x | ) | WN_operator(x) |
Definition at line 90 of file wn_simp.cxx.
Referenced by cancel_in_relop(), Fold2_Into_Select(), get_value_type(), simp_abs(), simp_add_sub(), simp_band(), simp_bior(), simp_bxor(), simp_cvtl(), simp_diff_value(), simp_div(), simp_eq_neq(), SIMP_Is_Constant(), SIMP_Is_Flt_Constant(), SIMP_Is_Int_Constant(), simp_land(), simp_lior(), simp_neg(), simp_not(), simp_recip(), simp_relop(), simp_shift(), simp_times(), SIMPNODE_GetDefinition(), SIMPNODE_Simp_Compare_Trees(), SIMPNODE_SimplifyExp1(), SIMPNODE_SimplifyExp2_h(), SIMPNODE_SimplifyExp3(), and SIMPNODE_SimplifyIntrinsic().
#define SIMPNODE_rtype | ( | x | ) | WN_rtype(x) |
Definition at line 91 of file wn_simp.cxx.
Referenced by get_value_type(), is_floating_equal(), is_numeric_equal(), simp_add_sub(), simp_band(), simp_cvtl(), simp_diff_value(), simp_eq_neq(), simp_neg(), simp_relop(), simp_shift(), simp_times(), SIMPNODE_ConstantFold1(), SIMPNODE_ConstantFold2(), and SIMPNODE_SimplifyIntrinsic().
Definition at line 151 of file wn_simp.cxx.
Definition at line 127 of file wn_simp.cxx.
Referenced by simp_cvtl().
Definition at line 129 of file wn_simp.cxx.
Definition at line 124 of file wn_simp.cxx.
Definition at line 125 of file wn_simp.cxx.
Definition at line 126 of file wn_simp.cxx.
Definition at line 128 of file wn_simp.cxx.
#define SIMPNODE_Simplify_Initialize WN_Simplify_Initialize |
Definition at line 135 of file wn_simp.cxx.
#define SIMPNODE_SimplifyCvtl WN_SimplifyCvtl |
Definition at line 145 of file wn_simp.cxx.
#define SIMPNODE_SimplifyExp1 WN_SimplifyExp1 |
Definition at line 142 of file wn_simp.cxx.
#define SIMPNODE_SimplifyExp2 WN_SimplifyExp2 |
Definition at line 143 of file wn_simp.cxx.
#define SIMPNODE_SimplifyExp3 WN_SimplifyExp3 |
Definition at line 144 of file wn_simp.cxx.
Definition at line 147 of file wn_simp.cxx.
Definition at line 146 of file wn_simp.cxx.
Definition at line 148 of file wn_simp.cxx.
Definition at line 149 of file wn_simp.cxx.
#define SIMPNODE_st WN_st |
Definition at line 96 of file wn_simp.cxx.
Referenced by SIMPNODE_SimplifyExp2_h().
#define SIMPNODE_st_idx WN_st_idx |
Definition at line 97 of file wn_simp.cxx.
Referenced by get_lda_info(), and WN_Compare_Symbols().
#define SIMPNODE_TREE_DELETE WN_DELETE_Tree |
Definition at line 130 of file wn_simp.cxx.
Referenced by simp_delete_tree().
#define SIMPNODE_ty WN_ty |
Definition at line 98 of file wn_simp.cxx.
Referenced by cancel_in_relop().
Definition at line 78 of file wn_simp.cxx.
Referenced by show_rule(), and show_tree().
#define WN_SIMP_WORKING_ON_WHIRL |
Definition at line 82 of file wn_simp.cxx.
Definition at line 87 of file wn_simp.cxx.
Definition at line 153 of file wn_simp.cxx.
References fdump_tree(), fprintf(), OPCODE_name(), OPCODE_operator(), OPR_CVTL, and TRACEFILE.
static void SIMPNODE_Simplify_Initialize | ( | void | ) | [static] |
Definition at line 530 of file wn_simp.cxx.
References Get_Trace(), SIMPNODE_simp_initialized, TP_WHIRLSIMP, trace_rules, trace_trees, and TRUE.
static INT32 WN_Compare_Symbols | ( | simpnode | t1, |
simpnode | t2 | ||
) | [static] |
Definition at line 408 of file wn_simp.cxx.
References SIMPNODE_st_idx.
static simpnode WN_SimpCreateCvtl | ( | OPCODE | opc, |
INT16 | bits, | ||
simpnode | k0 | ||
) | [static] |
Definition at line 485 of file wn_simp.cxx.
References wn, WN_Create(), WN_cvtl_bits(), WN_kid0(), WN_MAP_Set, WN_MAP_UNDEFINED, WN_SimplifyCvtl(), and WN_SimpParentMap.
static simpnode WN_SimpCreateDeposit | ( | OPCODE | opc, |
INT16 | boffset, | ||
INT16 | bsize, | ||
simpnode | k0, | ||
simpnode | k1 | ||
) | [static] |
Definition at line 514 of file wn_simp.cxx.
References wn, WN_Create(), WN_kid0(), WN_kid1(), WN_MAP_Set, WN_MAP_UNDEFINED, WN_set_bit_offset_size(), and WN_SimpParentMap.
static simpnode WN_SimpCreateExp1 | ( | OPCODE | opc, |
simpnode | k0 | ||
) | [static] |
Definition at line 469 of file wn_simp.cxx.
References wn, WN_Create(), WN_kid0(), WN_MAP_Set, WN_MAP_UNDEFINED, WN_SimplifyExp1(), and WN_SimpParentMap.
static simpnode WN_SimpCreateExp2 | ( | OPCODE | opc, |
simpnode | k0, | ||
simpnode | k1 | ||
) | [static] |
Definition at line 451 of file wn_simp.cxx.
References wn, WN_Create(), WN_kid0(), WN_kid1(), WN_MAP_Set, WN_MAP_UNDEFINED, WN_SimplifyExp2(), and WN_SimpParentMap.
Definition at line 430 of file wn_simp.cxx.
References wn, WN_Create(), WN_kid(), WN_kid0(), WN_kid1(), WN_MAP_Set, WN_MAP_UNDEFINED, WN_SimplifyExp3(), and WN_SimpParentMap.
static simpnode WN_SimpCreateExtract | ( | OPCODE | opc, |
INT16 | boffset, | ||
INT16 | bsize, | ||
simpnode | k0 | ||
) | [static] |
Definition at line 501 of file wn_simp.cxx.
References wn, WN_Create(), WN_kid0(), WN_MAP_Set, WN_MAP_UNDEFINED, WN_set_bit_offset_size(), and WN_SimpParentMap.
BOOL WN_Simplifier_Enable | ( | BOOL | enable | ) |
Definition at line 400 of file wn_simp.cxx.
Referenced by cwh_whirl_simplfier_control(), main(), and WN_LOOP_TripCount().
WN* WN_Simplify_Rebuild_Expr_Tree | ( | WN * | t, |
ALIAS_MANAGER * | alias_manager | ||
) |
Definition at line 319 of file wn_simp.cxx.
References NULL, OPCODE_is_expression(), OPCODE_operator(), OPR_CVTL, OPR_ILOAD, OPR_INTRINSIC_OP, OPR_TAS, result, Type_Is_Shared_Ptr(), WN_cvtl_bits(), WN_Delete, WN_field_id(), WN_intrinsic(), WN_kid(), WN_kid0(), WN_kid1(), WN_kid_count(), WN_load_addr_ty(), WN_load_offset(), WN_opcode(), WN_operator(), WN_SimplifyCvtl(), WN_SimplifyExp1(), WN_SimplifyExp2(), WN_SimplifyExp3(), WN_SimplifyIload(), WN_SimplifyIntrinsic(), and WN_ty().
WN* WN_Simplify_Tree | ( | WN * | t, |
ALIAS_MANAGER * | alias_manager | ||
) |
Definition at line 175 of file wn_simp.cxx.
References next, NULL, OPC_BLOCK, OPCODE_operator(), OPR_CVTL, OPR_ILOAD, OPR_INTRINSIC_OP, OPR_IO_ITEM, OPR_ISTORE, OPR_PSTORE, result, WN_cvtl_bits(), WN_Delete, WN_field_id(), WN_first(), WN_intrinsic(), WN_kid(), WN_kid0(), WN_kid1(), WN_kid_count(), WN_last(), WN_load_addr_ty(), WN_load_offset(), WN_MAP_Set, WN_MAP_UNDEFINED, WN_next(), WN_opcode(), WN_operator(), WN_prev(), WN_Simplify_Tree(), WN_SimplifyCvtl(), WN_SimplifyExp1(), WN_SimplifyExp2(), WN_SimplifyExp3(), WN_SimplifyIload(), WN_SimplifyIntrinsic(), WN_SimplifyIstore(), WN_SimplifyPstore(), WN_SimpParentMap, and WN_ty().
Referenced by ir_b2a_process_PUs(), WN_Simplify_Tree(), and WN_Upper_Bound_Standardize().
Definition at line 71 of file wn_simp.cxx.
Definition at line 73 of file wn_simp.cxx.
Referenced by simp_add_sub().
Definition at line 76 of file wn_simp.cxx.
Referenced by WN_Create_Intrinsic(), WN_CreateCvtl(), WN_CreateExp1(), WN_CreateExp2(), WN_CreateExp3(), WN_CreateIload(), WN_CreateIstore(), WN_CreatePstore(), WN_SimpCreateCvtl(), WN_SimpCreateDeposit(), WN_SimpCreateExp1(), WN_SimpCreateExp2(), WN_SimpCreateExp3(), WN_SimpCreateExtract(), and WN_Simplify_Tree().