Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defs.h"
#include "errors.h"
#include "util.h"
#include "tracing.h"
#include "topcode.h"
#include "wn.h"
#include "opcode.h"
#include "config_targ.h"
#include "targ_isa_lits.h"
#include "betarget.h"
#include "w2op.h"
Go to the source code of this file.
Defines | |
#define | IS_POWER_OF_2(val) ((val != 0) && ((val & (val-1)) == 0)) |
Functions | |
TOP | OPCODE_To_TOP (OPCODE opcode) |
TOP | TAS_To_TOP (WN *tas_wn) |
static BOOL | Is_Power_Of_2 (INT64 val, TYPE_ID mtype) |
BOOL | Can_Do_Fast_Divide (TYPE_ID mtype, INT64 dividend) |
BOOL | Can_Do_Fast_Remainder (TYPE_ID mtype, INT64 dividend) |
INT | Multiply_Limit (BOOL is_64bit, INT64 val) |
INT | Divide_Limit (BOOL is_64bit) |
static INT | Count_Multiply_Shifts (TARG_UINT constant) |
BOOL | Can_Do_Fast_Multiply (TYPE_ID mtype, INT64 val) |
INT | Copy_Quantum_Ratio (void) |
BOOL | Is_Signed_Bits (INT64 val, INT bits) |
BOOL | Is_Unsigned_Bits (UINT64 val, INT bits) |
BOOL | Can_Be_Immediate (OPERATOR opr, INT64 val, TYPE_ID dtype, INT whichkid, ST *stid_st) |
Variables | |
BOOL | Targ_Lower_Float_To_Unsigned = FALSE |
BOOL | Targ_Lower_Unsigned_To_Float = FALSE |
INT | Max_Small_Frame_Offset = 0x1fff |
#define IS_POWER_OF_2 | ( | val | ) | ((val != 0) && ((val & (val-1)) == 0)) |
Definition at line 138 of file betarget.cxx.
Referenced by Is_Power_Of_2().
Definition at line 327 of file betarget.cxx.
References Can_Do_Fast_Divide(), Can_Do_Fast_Multiply(), Can_Do_Fast_Remainder(), CLASS_PREG, FALSE, Is_Signed_Bits(), MTYPE_is_size_double, OPR_ADD, OPR_AGOTO, OPR_ASHR, OPR_BAND, OPR_BIOR, OPR_BXOR, OPR_CALL, OPR_DIV, OPR_DIVREM, OPR_EQ, OPR_GE, OPR_GT, OPR_ICALL, OPR_INTRINSIC_CALL, OPR_LE, OPR_LOOP_INFO, OPR_LSHR, OPR_LT, OPR_MAX, OPR_MIN, OPR_MLOAD, OPR_MOD, OPR_MPY, OPR_MSTORE, OPR_NE, OPR_PARM, OPR_REM, OPR_SELECT, OPR_SHL, OPR_STID, OPR_SUB, ST_class(), and TRUE.
BOOL Can_Do_Fast_Divide | ( | TYPE_ID | mtype, |
INT64 | dividend | ||
) |
Definition at line 153 of file betarget.cxx.
References FALSE, Is_Power_Of_2(), and TRUE.
Referenced by Can_Be_Immediate().
BOOL Can_Do_Fast_Multiply | ( | TYPE_ID | mtype, |
INT64 | val | ||
) |
Definition at line 255 of file betarget.cxx.
References FALSE, OPT_Space, TRUE, and val.
Referenced by Can_Be_Immediate().
BOOL Can_Do_Fast_Remainder | ( | TYPE_ID | mtype, |
INT64 | dividend | ||
) |
Definition at line 163 of file betarget.cxx.
References FALSE, Is_Power_Of_2(), and TRUE.
Referenced by Can_Be_Immediate().
INT Copy_Quantum_Ratio | ( | void | ) |
Definition at line 294 of file betarget.cxx.
References Target, and TARGET_ITANIUM.
static INT Count_Multiply_Shifts | ( | TARG_UINT | constant | ) | [static] |
Definition at line 226 of file betarget.cxx.
INT Divide_Limit | ( | BOOL | is_64bit | ) |
Definition at line 205 of file betarget.cxx.
References Target, and TARGET_ITANIUM.
static BOOL Is_Power_Of_2 | ( | INT64 | val, |
TYPE_ID | mtype | ||
) | [static] |
Definition at line 140 of file betarget.cxx.
References IS_POWER_OF_2, MTYPE_is_signed, MTYPE_U4, and val.
Referenced by Can_Do_Fast_Divide(), and Can_Do_Fast_Remainder().
BOOL Is_Signed_Bits | ( | INT64 | val, |
INT | bits | ||
) | [inline] |
Definition at line 310 of file betarget.cxx.
Referenced by Can_Be_Immediate().
BOOL Is_Unsigned_Bits | ( | UINT64 | val, |
INT | bits | ||
) | [inline] |
Definition at line 319 of file betarget.cxx.
INT Multiply_Limit | ( | BOOL | is_64bit, |
INT64 | val | ||
) |
Definition at line 186 of file betarget.cxx.
References Target, and TARGET_ITANIUM.
TOP OPCODE_To_TOP | ( | OPCODE | opcode | ) |
Definition at line 69 of file betarget.cxx.
References MTYPE_F4, MTYPE_F8, MTYPE_V, OPCODE_desc(), OPCODE_operator(), OPCODE_rtype(), OPR_ABS, OPR_BACKWARD_BARRIER, OPR_FORWARD_BARRIER, OPR_INTRINSIC_CALL, OPR_NEG, OPR_PAREN, OPR_PARM, and OPR_TRAP.
Referenced by WHIRL_To_TOP().
TOP TAS_To_TOP | ( | WN * | tas_wn | ) |
Definition at line 116 of file betarget.cxx.
References MTYPE_float, OPC_F4TAS, OPC_F8TAS, OPC_I4TAS, OPC_I8TAS, OPC_U4TAS, OPC_U8TAS, WN_kid0(), WN_opcode(), and WN_rtype().
Referenced by WHIRL_To_TOP().
INT Max_Small_Frame_Offset = 0x1fff |
Definition at line 64 of file betarget.cxx.
Referenced by Allocate_Space(), Choose_Stack_Model(), Finalize_Stack_Frame(), and Merge_Fixed_Stack_Frame().
Definition at line 60 of file betarget.cxx.
Definition at line 61 of file betarget.cxx.