#include <stdint.h>#include "defs.h"#include "erglob.h"#include "opcode.h"#include "errors.h"#include "mtypes.h"#include "cxx_memory.h"#include "wn_util.h"#include "targ_const.h"#include "targ_const_private.h"#include "const.h"#include "opt_config.h"#include "opt_wn.h"#include "opt_util.h"#include "opt_cfg.h"#include "opt_htable.h"#include "opt_vn_expr_taxonomy.h"#include "opt_vn.h"

Go to the source code of this file.
Defines | |
| #define | __STDC_LIMIT_MACROS |
Typedefs | |
| typedef pair< VN_VALNUM, VN_VALNUM > | VN_VALNUM_PAIR |
Functions/Subroutines | |
| void | Unimplemented (const char *method) |
| VN_EXPR * | Create_Folded_Literal (OPCODE opc, VN_EXPR::CONST_PTR opnd1, VN_EXPR::CONST_PTR opnd2) |
| VN_EXPR * | Create_Unary_Opr (OPERATOR opr, const VN_VALNUM &vn, MTYPE mtype) |
| VN_EXPR * | Create_Binary_Opr (OPERATOR opr, const VN_VALNUM &vn1, const VN_VALNUM &vn2, MTYPE rtype, MTYPE dtype) |
| static MTYPE | Unify_Rty (OPERATOR opr, MTYPE rty) |
| BOOL | Is_Literal_Expr (const VN_EXPR *expr) |
| BOOL | Is_Singular_Expr (const VN_EXPR *expr) |
| BOOL | Is_Rty_Opr (VN_EXPR::CONST_PTR expr, VN_EXPR::KIND kind, OPERATOR opr1, MTYPE rty) |
| BOOL | Is_Rty_Opr2 (VN_EXPR::CONST_PTR expr, VN_EXPR::KIND kind, OPERATOR opr1, OPERATOR opr2, MTYPE rty) |
| static BOOL | All_Bits_Set (INT64 i, INT32 num_bytes) |
| static VN_EXPR::PTR | Create_Scalar_Literal_From_Int (MTYPE mty, INT64 i) |
| #define __STDC_LIMIT_MACROS |
Definition at line 67 of file opt_vn_expr.cxx.
| typedef pair<VN_VALNUM,VN_VALNUM> VN_VALNUM_PAIR |
Definition at line 92 of file opt_vn_expr.cxx.
Definition at line 270 of file opt_vn_expr.cxx.
References FALSE, mUINT16, mUINT32, mUINT64, mUINT8, and U.
Referenced by VN_BINARY_EXPR::simplify().
| VN_EXPR* Create_Binary_Opr | ( | OPERATOR | opr, | |
| const VN_VALNUM & | vn1, | |||
| const VN_VALNUM & | vn2, | |||
| MTYPE | rtype, | |||
| MTYPE | dtype | |||
| ) | [inline] |
Definition at line 155 of file opt_vn_expr.cxx.
References VN_EXPR::Create_Binary(), and OPCODE_make_op().
Referenced by VN_BINARY_EXPR::_simplify_2literals(), VN_BINARY_EXPR::_simplify_add(), and VN_MEMLOC_EXPR::simplify().
| VN_EXPR* Create_Folded_Literal | ( | OPCODE | opc, | |
| VN_EXPR::CONST_PTR | opnd1, | |||
| VN_EXPR::CONST_PTR | opnd2 | |||
| ) | [inline] |
Definition at line 130 of file opt_vn_expr.cxx.
References BOOL, VN_EXPR::Create_Literal(), FALSE, VN_EXPR::get_tcon(), NULL, and Targ_WhirlOp().
Referenced by VN_BINARY_EXPR::_fold_2literals(), VN_BINARY_EXPR::simplify(), and VN_UNARY_EXPR::simplify().
| static VN_EXPR::PTR Create_Scalar_Literal_From_Int | ( | MTYPE | mty, | |
| INT64 | i | |||
| ) | [static] |
Definition at line 289 of file opt_vn_expr.cxx.
References VN_EXPR::Create_Literal(), FALSE, FmtAssert, Host_To_Targ(), Host_To_Targ_Float(), MTYPE_B, MTYPE_F10, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, and p.
Referenced by VN_BINARY_EXPR::simplify().
Definition at line 148 of file opt_vn_expr.cxx.
References VN_EXPR::Create_Unary(), MTYPE_V, and OPCODE_make_op().
Referenced by VN_BINARY_EXPR::_simplify_2literals(), VN_BINARY_EXPR::_simplify_3adds(), and VN_BINARY_EXPR::simplify().
Definition at line 217 of file opt_vn_expr.cxx.
References VN_EXPR::get_kind(), VN_EXPR::LITERAL, and NULL.
Referenced by VN_BINARY_EXPR::_simplify_3adds(), VN_BINARY_EXPR::_simplify_4adds(), VN_LITERAL_EXPR::is_equal_to(), VN_MEMLOC_EXPR::simplify(), VN_BINARY_EXPR::simplify(), VN_UNARY_EXPR::simplify(), VN_TERNARY_EXPR::simplify(), and VN_INTR_OP_EXPR::simplify().
| BOOL Is_Rty_Opr | ( | VN_EXPR::CONST_PTR | expr, | |
| VN_EXPR::KIND | kind, | |||
| OPERATOR | opr1, | |||
| MTYPE | rty | |||
| ) | [inline] |
Definition at line 233 of file opt_vn_expr.cxx.
References FALSE, VN_EXPR::get_kind(), VN_EXPR::get_opc(), NULL, opc, OPCODE_operator(), OPCODE_rtype(), and Unify_Rty().
Referenced by VN_BINARY_EXPR::_simplify_add(), and VN_UNARY_EXPR::simplify().
| BOOL Is_Rty_Opr2 | ( | VN_EXPR::CONST_PTR | expr, | |
| VN_EXPR::KIND | kind, | |||
| OPERATOR | opr1, | |||
| OPERATOR | opr2, | |||
| MTYPE | rty | |||
| ) | [inline] |
Definition at line 251 of file opt_vn_expr.cxx.
References FALSE, VN_EXPR::get_kind(), VN_EXPR::get_opc(), NULL, opc, OPCODE_operator(), OPCODE_rtype(), and Unify_Rty().
Referenced by VN_BINARY_EXPR::_simplify_add(), and VN_BINARY_EXPR::_simplify_sub().
Definition at line 224 of file opt_vn_expr.cxx.
References VN_EXPR::get_kind(), VN_EXPR::get_opc(), NULL, OPC_VPARM, and VN_EXPR::UNARY.
Referenced by VN_BINARY_EXPR::_simplify_add(), and VN_BINARY_EXPR::_simplify_sub().
Definition at line 166 of file opt_vn_expr.cxx.
References MTYPE_bit_size, MTYPE_I4, MTYPE_I8, MTYPE_is_integral, OPR_ADD, OPR_ASHR, OPR_BAND, OPR_BIOR, OPR_BNOR, OPR_BNOT, OPR_BXOR, OPR_DIV, OPR_LSHR, OPR_MPY, OPR_NEG, OPR_REM, OPR_SELECT, OPR_SHL, OPR_SUB, U, and UINT32.
Referenced by Is_Rty_Opr(), Is_Rty_Opr2(), VN_BINARY_EXPR::simplify(), VN_TERNARY_EXPR::simplify(), and VN_UNARY_EXPR::simplify().
| void Unimplemented | ( | const char * | method | ) | [inline] |
Definition at line 123 of file opt_vn_expr.cxx.
References FALSE, and FmtAssert.
Referenced by VN_EXPR::get_base_addr(), VN_EXPR::get_block_id(), VN_EXPR::get_bytesize(), VN_EXPR::get_dsctype(), VN_EXPR::get_esize(), VN_EXPR::get_intr_opc(), VN_EXPR::get_lda_cr_id(), VN_EXPR::get_num_dims(), VN_EXPR::get_offset(), VN_EXPR::get_opc(), VN_EXPR::get_opnd(), VN_EXPR::get_phi_tag(), VN_EXPR::get_tcon(), VN_EXPR::get_vsym(), VN_EXPR::set_opnd(), and VN_EXPR::set_opnd_vsym().
1.5.6