#include "defs.h"#include "errors.h"#include "erglob.h"#include "tracing.h"#include "cxx_memory.h"#include "wn.h"#include "wn_util.h"#include "region_util.h"#include "opt_base.h"#include "opt_bb.h"#include "bb_node_set.h"#include "opt_main.h"#include "opt_ivr.h"#include "opt_util.h"#include "opt_wn.h"#include "opt_mu_chi.h"#include "opt_fold.h"#include "stab.h"

Go to the source code of this file.
Data Types | |
| module | IV_EXPR |
Defines | |
| #define | USE_STANDARD_TYPES |
| #define | IS_MP_LOOP(loop) (loop->Is_flag_set(LOOP_IS_MP) || loop->Is_flag_set(LOOP_IS_PDO)) |
Enumerations | |
| enum | IV_EXPR_FLAGS { IV_EXPR_NONE = 0, IV_EXPR_VALID = 1 } |
Functions/Subroutines | |
| void | Set_Preg_Name (PREG_NUM preg_num, const char *const name) |
| static CODEREP * | Find_cur_cr (IDTYPE aux_id, const BB_NODE *start, const BB_NODE *stop) |
| static INT32 | Init_expr_cost (CODEREP *cr) |
| static INT32 | Primary_IV_preference (IV_CAND *iv, OPT_STAB *opt_stab) |
| static BOOL | Is_IV_cand_in_parent_loop (BB_LOOP *loop, CODEREP *inner_loop_init, CODEREP *exit_stmt_lhs) |
| static BOOL | CR_is_equivalent (CODEREP *cr, CODEREP *def_cr) |
Variables | |
| const INT32 | MIN_SCORE = -10000 |
Definition at line 994 of file opt_ivr.cxx.
Referenced by IVR::Find_associated_parallel_pragma(), IVR::Ident_all_iv_cands(), and IVR::Process_one_loop().
| #define USE_STANDARD_TYPES |
Definition at line 98 of file opt_ivr.cxx.
| enum IV_EXPR_FLAGS |
Definition at line 2661 of file opt_ivr.cxx.
References CF_DEF_BY_CHI, CF_DEF_BY_PHI, CF_IS_ZERO_VERSION, CODEREP::Defchi(), CODEREP::Defstmt(), FALSE, CODEREP::Is_flag_set(), STMTREP::Is_identity_assignment_removable(), NULL, CHI_NODE::OPND(), STMTREP::Rhs(), and TRUE.
Referenced by IVR::Update_exit_stmt().
Definition at line 689 of file opt_ivr.cxx.
References CHI_NODE::Aux_id(), PHI_NODE::Aux_id(), CODEREP::Aux_id(), STMTREP::Chi_list(), cnode, FOR_ALL_ELEM, FOR_ALL_NODE, FOR_ALL_NODE_REVERSE, STMTREP::Has_chi(), BB_NODE::Idom(), Init, STMTREP::Lhs(), NULL, OPERATOR_is_scalar_store(), STMTREP::Opr(), BB_NODE::Phi_list(), PHI_NODE::RESULT(), and CHI_NODE::RESULT().
Referenced by CODEREP::Propagatable_along_path().
Definition at line 1177 of file opt_ivr.cxx.
References CK_CONST, CK_IVAR, CK_OP, CK_VAR, CODEREP::Const_val(), CODEREP::Kind(), MIN_SCORE, NULL, CODEREP::Opnd(), CODEREP::Opr(), OPR_ADD, OPR_NEG, and OPR_SUB.
Referenced by Primary_IV_preference().
| static BOOL Is_IV_cand_in_parent_loop | ( | BB_LOOP * | loop, | |
| CODEREP * | inner_loop_init, | |||
| CODEREP * | exit_stmt_lhs | |||
| ) | [static] |
Definition at line 2612 of file opt_ivr.cxx.
References CODEREP::Aux_id(), CK_VAR, DevWarn, FALSE, FOR_ALL_ELEM, BB_LOOP::Header(), Init, CODEREP::Kind(), SLIST_NODE::Len(), PHI_NODE::Live(), NULL, PHI_NODE::OPND(), BB_LOOP::Parent(), BB_NODE::Phi_list(), BB_NODE::Pred(), BB_LOOP::Preheader(), PHI_NODE::RESULT(), and TRUE.
Referenced by IVR::Update_exit_stmt().
Definition at line 1207 of file opt_ivr.cxx.
References CODEREP::Aux_id(), OPT_STAB::Aux_stab_entry(), Init_expr_cost(), IV_CAND::Init_value(), INT32, MIN_SCORE, POINTS_TO::No_alias(), AUX_STAB_ENTRY::Points_to(), SCLASS_REG, AUX_STAB_ENTRY::St(), ST_sclass, and IV_CAND::Var().
Referenced by IVR::Choose_primary_IV().
Definition at line 123 of file opt_ivr.cxx.
References Is_True, Last_Dedicated_Preg_Offset, Preg_Table, and Set_PREG_name().
Referenced by IVR::Convert_all_ivs().
Definition at line 1170 of file opt_ivr.cxx.
Referenced by IVR::Choose_primary_IV(), Init_expr_cost(), and Primary_IV_preference().
1.5.6