Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defs.h"
#include "errors.h"
#include "util.h"
#include "topcode.h"
#include "targ_isa_properties.h"
#include "wn.h"
#include "opcode.h"
#include "config_targ.h"
#include "config.h"
#include "config_debug.h"
#include "tracing.h"
#include "opt_alias_interface.h"
#include "opt_alias_mgr.h"
#include "betarget.h"
#include "w2op.h"
Go to the source code of this file.
Functions | |
TOP | WHIRL_To_TOP (WN *wn) |
BOOL | TOP_Can_Be_Speculative (TOP opcode) |
BOOL | OPCODE_Can_Be_Speculative (OPCODE opcode) |
BOOL | WN_Can_Be_Speculative (WN *wn, struct ALIAS_MANAGER *alias) |
BOOL | WN_Expr_Can_Be_Speculative (WN *wn, struct ALIAS_MANAGER *alias) |
BOOL OPCODE_Can_Be_Speculative | ( | OPCODE | opcode | ) |
Definition at line 142 of file w2op.cxx.
References DEBUG_Div_Zero_Check, EAGER_ARITH, EAGER_DIVIDE, Eager_Level, EAGER_MEMORY, EAGER_NONE, EAGER_SAFE, FALSE, MTYPE_is_float, OPCODE_operator(), OPCODE_rtype(), OPR_ABS, OPR_ADD, OPR_ARRAY, OPR_ASHR, OPR_BAND, OPR_BIOR, OPR_BNOR, OPR_BNOT, OPR_BXOR, OPR_CAND, OPR_CEIL, OPR_CIOR, OPR_COMPLEX, OPR_CONST, OPR_CSELECT, OPR_CVT, OPR_CVTL, OPR_DIV, OPR_DIVREM, OPR_EQ, OPR_FLOOR, OPR_GE, OPR_GT, OPR_HIGHPART, OPR_IDNAME, OPR_ILOAD, OPR_ILOADX, OPR_IMAGPART, OPR_INTCONST, OPR_INTRINSIC_OP, OPR_LAND, OPR_LDA, OPR_LDID, OPR_LE, OPR_LIOR, OPR_LNOT, OPR_LOWPART, OPR_LSHR, OPR_LT, OPR_MADD, OPR_MAX, OPR_MAXPART, OPR_MIN, OPR_MINMAX, OPR_MINPART, OPR_MLOAD, OPR_MOD, OPR_MPY, OPR_MSUB, OPR_NE, OPR_NEG, OPR_NMADD, OPR_NMSUB, OPR_PAREN, OPR_PREFETCH, OPR_PREFETCHX, OPR_REALPART, OPR_RECIP, OPR_REM, OPR_RND, OPR_RSQRT, OPR_SELECT, OPR_SHL, OPR_SQRT, OPR_SUB, OPR_TAS, and OPR_TRUNC.
Referenced by WN_Can_Be_Speculative().
BOOL TOP_Can_Be_Speculative | ( | TOP | opcode | ) |
Definition at line 81 of file w2op.cxx.
References DevWarn(), EAGER_ARITH, EAGER_DIVIDE, Eager_Level, EAGER_MEMORY, EAGER_NONE, EAGER_SAFE, FALSE, and TRUE.
TOP WHIRL_To_TOP | ( | WN * | wn | ) |
Definition at line 61 of file w2op.cxx.
References OPCODE_operator(), OPCODE_To_TOP(), OPR_TAS, TAS_To_TOP(), top, and WN_opcode().
BOOL WN_Can_Be_Speculative | ( | WN * | wn, |
struct ALIAS_MANAGER * | alias | ||
) |
Definition at line 258 of file w2op.cxx.
References CLASS_PREG, FALSE, MTYPE_I4, MTYPE_I8, MTYPE_U4, MTYPE_U8, OPCODE_Can_Be_Speculative(), OPR_CONST, OPR_DIV, OPR_ILOAD, OPR_ILOADX, OPR_INTCONST, OPR_LDA, OPR_LDID, ST_is_constant(), TRUE, WN_class, WN_const_val(), WN_Is_Volatile_Mem(), WN_kid1(), WN_opcode(), WN_operator(), WN_rtype(), and WN_st().
Referenced by WN_Expr_Can_Be_Speculative().
BOOL WN_Expr_Can_Be_Speculative | ( | WN * | wn, |
struct ALIAS_MANAGER * | alias | ||
) |
Definition at line 303 of file w2op.cxx.
References FALSE, WN_Can_Be_Speculative(), WN_Expr_Can_Be_Speculative(), WN_kid(), and WN_kid_count().
Referenced by WN_Expr_Can_Be_Speculative().