Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
betarget.cxx File Reference
#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"
Include dependency graph for betarget.cxx:

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 Documentation

#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().


Function Documentation

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:


Variable Documentation

Definition at line 60 of file betarget.cxx.

Definition at line 61 of file betarget.cxx.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines