osprey/common/com/targ_const.h File Reference

#include "config_host.h"
#include "mtypes.h"

Include dependency graph for targ_const.h:

Go to the source code of this file.

Data Types

type  QUAD_TYPE
type  TCON

Defines

#define TCON_ADD_NULL   0x1
#define TCON_add_null(c)   ((c).flags & TCON_ADD_NULL)
#define Set_TCON_add_null(c)   ((c).flags |= TCON_ADD_NULL)
#define TCON_clear(c)   BZERO (&c, sizeof(TCON))

Typedefs

typedef struct TCON TCON

Functions/Subroutines

TCON Targ_IntrinsicOp (UINT32 intrinsic, TCON c[], BOOL *folded)
TCON Targ_Pow (TCON mantissa, TCON exponent)
TCON Targ_Conv (TYPE_ID newtype, TCON cvalue)
TCON Targ_Cast (TYPE_ID newtype, TCON cvalue)
TCON Targ_Atoc (TYPE_ID ctype, char *ascii)
TCON Targ_Hexfptoc (const TYPE_ID ty, const char *const str)
INT64 Targ_To_Host (TCON cvalue)
INT64 Targ_To_Signed_Host (TCON cvalue)
TCON Host_To_Targ (TYPE_ID ctype, INT64 ivalue)
TCON Host_To_Targ_Float (TYPE_ID ctype, double fvalue)
TCON Host_To_Targ_Float_10 (TYPE_ID ctype, long double fvalue)
TCON Host_To_Targ_Float_4 (TYPE_ID ctype, float fvalue)
TCON Host_To_Targ_Quad (QUAD_TYPE fvalue)
double Targ_To_Host_Float (TCON fvalue)
QUAD_TYPE Targ_To_Host_Quad (TCON fvalue)
TCON Host_To_Targ_Complex (TYPE_ID ctype, double real, double imag)
TCON Host_To_Targ_Complex_10 (TYPE_ID ctype, long double, long double)
TCON Host_To_Targ_Complex_4 (TYPE_ID ctype, float real, float imag)
TCON Host_To_Targ_Complex_Quad (QUAD_TYPE real, QUAD_TYPE imag)
TCON Make_Complex (TYPE_ID ctype, TCON real, TCON imag)
TCON Host_To_Targ_UV (TYPE_ID ctype)
TCON Extract_Complex_Real (TCON complex)
TCON Extract_Complex_Imag (TCON complex)
TCON Extract_Quad_Hi (TCON q)
TCON Extract_Quad_Lo (TCON q)
TCON Host_To_Targ_String (TYPE_ID ctype, const char *cp, UINT32 len)
char * Targ_String_Address (TCON cvalue)
mUINT32 Targ_String_Length (TCON cvalue)
char * Targ_Print (const char *fmt, TCON cvalue)
BOOL Targ_Format_String (char *s, INT32 slen, char *buf, INT32 blen, INT32 line, char *divider)
void Targ_Emit_String (FILE *fl, char *str, INT32 len, INTSC loc)
void Targ_Emit_Const (FILE *fl, TCON tvalue, BOOL add_null, INTSC rc, INTSC loc)
void Targ_Emit_Space (FILE *fl, INT len, INT loc)
void Targ_Emit_Cmt (FILE *fl, char *cmt)
void Targ_Emit_Dim (FILE *fl, struct ty *ty, INT dim)
char * Tcon_To_Str (char *buf, TCON cval)
TCON Str_To_Tcon (TYPE_ID ctype, char *buf)
TCON Bit_Str_To_Tcon (TYPE_ID ctype, char *buf)
BOOL Targ_Is_Zero (TCON t)
BOOL Targ_Is_Integral (TCON t, INT64 *iv)
BOOL Targ_Is_Power_Of_Two (TCON t)
BOOL Targ_Contains_One_Bit_On (TCON t, INT32 *onebit)
BOOL Targ_Determine_High_Bit (TCON t, INT32 *highbit)
UINT32 Hash_TCON (TCON *t, UINT32 modulus)
INT32 Targ_fp_class (TCON fvalue)

Variables

TCON Zero_I4_Tcon
TCON Zero_I8_Tcon
TCON Quad_Zero_Tcon


Define Documentation

#define Set_TCON_add_null ( c   )     ((c).flags |= TCON_ADD_NULL)

Definition at line 246 of file targ_const.h.

#define TCON_add_null ( c   )     ((c).flags & TCON_ADD_NULL)

Definition at line 245 of file targ_const.h.

Referenced by ST_size(), and Write_TCON().

#define TCON_ADD_NULL   0x1

Definition at line 244 of file targ_const.h.

#define TCON_clear ( c   )     BZERO (&c, sizeof(TCON))


Typedef Documentation

typedef struct TCON TCON

Definition at line 230 of file targ_const.h.


Function Documentation

TCON Bit_Str_To_Tcon ( TYPE_ID  ctype,
char *  buf 
)

TCON Extract_Complex_Imag ( TCON  complex  ) 

TCON Extract_Complex_Real ( TCON  complex  ) 

TCON Extract_Quad_Hi ( TCON  q  ) 

TCON Extract_Quad_Lo ( TCON  q  ) 

UINT32 Hash_TCON ( TCON t,
UINT32  modulus 
)

TCON Host_To_Targ ( TYPE_ID  ctype,
INT64  ivalue 
)

Definition at line 3592 of file targ_const.cxx.

References c, EC_Inv_Mtype, ErrMsg(), MTYPE_B, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, Mtype_Name(), MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, TCON_clear, TCON_I8, and TCON_ty.

Referenced by VN::_init_integer_valnum_map(), VN::_valnum_integer(), Create_Const_ST(), Create_Global_ST(), Create_Scalar_Literal_From_Int(), Create_Unroll_Copy(), cwh_stab_const_ST(), Do_EH_Tables(), Exp_Immediate(), Exp_Immediate_Int(), Exp_Intrinsic_Op(), Exp_Select_And_Condition(), Expand_Abs(), Expand_Add(), Expand_Fast_Sqrt(), Expand_Multiply(), Expand_Neg(), fei_addr_con(), Gen_Const_Symbol_TN(), Generate_Exception_Table_Header(), INITV_Init_Integer(), INITV_Init_Integer_2(), ir_b_write_tree(), Irb_Init_Integer_Of_Type(), lower_bit_field_id(), Make_Comparison_Result_Const(), Make_Zerocon(), IPO_INLINE::Process_OPR_REGION(), Set_Tcon_Value(), Setup_Entry_For_EH(), Simd_Vectorize_Constants(), Simd_Vectorize_Induction_Variables(), Simd_Vectorize_Scalar_Reduction(), simp_cvtl(), VN_MEMLOC_EXPR::simplify(), SIMPNODE_ConstantFold1(), SIMPNODE_ConstantFold2(), SIMPNODE_SimplifyIntrinsic(), ST_is_const_initialized_scalar(), Targ_Convert_Length(), TCON_For_Initv(), TCON_from_stack(), TY2C_array(), TY2C_prepend_filler_field(), TY2F_Append_ARB(), WN2C_append_addr_plus_const(), WN2C_append_addr_plus_expr(), WN2C_compgoto(), WN2C_infix_op(), WN2C_intconst(), WN2C_mstore(), WN2C_switch(), WN2F_Expr_Plus_Literal(), WN2F_intconst(), WN_Zerocon(), and Write_INITV().

TCON Host_To_Targ_Complex ( TYPE_ID  ctype,
double  real,
double  imag 
)

TCON Host_To_Targ_Complex_10 ( TYPE_ID  ctype,
long  double,
long  double 
)

TCON Host_To_Targ_Complex_4 ( TYPE_ID  ctype,
float  real,
float  imag 
)

TCON Host_To_Targ_Complex_Quad ( QUAD_TYPE  real,
QUAD_TYPE  imag 
)

TCON Host_To_Targ_Float ( TYPE_ID  ctype,
double  fvalue 
)

TCON Host_To_Targ_Float_10 ( TYPE_ID  ctype,
long double  fvalue 
)

TCON Host_To_Targ_Float_4 ( TYPE_ID  ctype,
float  fvalue 
)

TCON Host_To_Targ_Quad ( QUAD_TYPE  fvalue  ) 

TCON Host_To_Targ_String ( TYPE_ID  ctype,
const char *  cp,
UINT32  len 
)

TCON Host_To_Targ_UV ( TYPE_ID  ctype  ) 

TCON Make_Complex ( TYPE_ID  ctype,
TCON  real,
TCON  imag 
)

TCON Str_To_Tcon ( TYPE_ID  ctype,
char *  buf 
)

TCON Targ_Atoc ( TYPE_ID  ctype,
char *  ascii 
)

TCON Targ_Cast ( TYPE_ID  newtype,
TCON  cvalue 
)

BOOL Targ_Contains_One_Bit_On ( TCON  t,
INT32 onebit 
)

Definition at line 5312 of file targ_const.cxx.

References FALSE, i, INT32, INT64, NULL, Targ_Is_Integral(), TRUE, and x1.

TCON Targ_Conv ( TYPE_ID  newtype,
TCON  cvalue 
)

BOOL Targ_Determine_High_Bit ( TCON  t,
INT32 highbit 
)

Definition at line 5343 of file targ_const.cxx.

References FALSE, i, INT32, INT64, MTYPE_size_min, NULL, Targ_Is_Integral(), TCON_ty, TRUE, and UINT64.

void Targ_Emit_Cmt ( FILE fl,
char *  cmt 
)

void Targ_Emit_Const ( FILE fl,
TCON  tvalue,
BOOL  add_null,
INTSC  rc,
INTSC  loc 
)

void Targ_Emit_Dim ( FILE fl,
struct ty ty,
INT  dim 
)

void Targ_Emit_Space ( FILE fl,
INT  len,
INT  loc 
)

Definition at line 534 of file targ_em_const.cxx.

References AS_SPACE, ASM_CMNT, and fprintf().

void Targ_Emit_String ( FILE fl,
char *  str,
INT32  len,
INTSC  loc 
)

BOOL Targ_Format_String ( char *  s,
INT32  slen,
char *  buf,
INT32  blen,
INT32  line,
char *  divider 
)

Definition at line 4612 of file targ_const.cxx.

References FALSE, i, INT16, INT32, len, NULL, strcpy, strlen(), Targ_Append_To_Dbuf(), TRUE, and void.

INT32 Targ_fp_class ( TCON  fvalue  ) 

TCON Targ_Hexfptoc ( const TYPE_ID  ty,
const char *const   str 
)

TCON Targ_IntrinsicOp ( UINT32  intrinsic,
TCON  c[],
BOOL folded 
)

Definition at line 5468 of file targ_const.cxx.

References acos(), acosf(), asin(), asinf(), atan(), atan2(), atan2f(), atanf(), cos(), cosf(), cosh(), coshf(), count, DEG_TO_RAD, errno, exp, expf(), FALSE, Get_Current_PU, i, INT, INT32, INT64, INTRN_C4COS, INTRN_C4EXP, INTRN_C4EXPEXPR, INTRN_C4I4EXPEXPR, INTRN_C4I8EXPEXPR, INTRN_C4LOG, INTRN_C4SIN, INTRN_C8COS, INTRN_C8EXP, INTRN_C8EXPEXPR, INTRN_C8I4EXPEXPR, INTRN_C8I8EXPEXPR, INTRN_C8LOG, INTRN_C8SIN, INTRN_CQCOS, INTRN_CQEXP, INTRN_CQEXPEXPR, INTRN_CQI4EXPEXPR, INTRN_CQI8EXPEXPR, INTRN_CQLOG, INTRN_CQSIN, INTRN_F4ACOS, INTRN_F4ACOSD, INTRN_F4AINT, INTRN_F4ANINT, INTRN_F4ASIN, INTRN_F4ASIND, INTRN_F4ATAN, INTRN_F4ATAN2, INTRN_F4ATAN2D, INTRN_F4ATAND, INTRN_F4CIS, INTRN_F4COS, INTRN_F4COSD, INTRN_F4COSH, INTRN_F4DIM, INTRN_F4EXP, INTRN_F4EXPEXPR, INTRN_F4I4EXPEXPR, INTRN_F4I8EXPEXPR, INTRN_F4LOG, INTRN_F4LOG10, INTRN_F4SIGN, INTRN_F4SIN, INTRN_F4SIND, INTRN_F4SINH, INTRN_F4TAN, INTRN_F4TAND, INTRN_F4TANH, INTRN_F8ACOS, INTRN_F8ACOSD, INTRN_F8AINT, INTRN_F8ANINT, INTRN_F8ASIN, INTRN_F8ASIND, INTRN_F8ATAN, INTRN_F8ATAN2, INTRN_F8ATAN2D, INTRN_F8ATAND, INTRN_F8CIS, INTRN_F8COS, INTRN_F8COSD, INTRN_F8COSH, INTRN_F8DIM, INTRN_F8EXP, INTRN_F8EXPEXPR, INTRN_F8F4PROD, INTRN_F8I4EXPEXPR, INTRN_F8I8EXPEXPR, INTRN_F8LOG, INTRN_F8LOG10, INTRN_F8SIGN, INTRN_F8SIN, INTRN_F8SIND, INTRN_F8SINH, INTRN_F8TAN, INTRN_F8TAND, INTRN_F8TANH, INTRN_FQACOS, INTRN_FQACOSD, INTRN_FQAINT, INTRN_FQANINT, INTRN_FQASIN, INTRN_FQASIND, INTRN_FQATAN, INTRN_FQATAN2, INTRN_FQATAN2D, INTRN_FQATAND, INTRN_FQCIS, INTRN_FQCOS, INTRN_FQCOSD, INTRN_FQCOSH, INTRN_FQDIM, INTRN_FQEXP, INTRN_FQEXPEXPR, INTRN_FQF8PROD, INTRN_FQI4EXPEXPR, INTRN_FQI8EXPEXPR, INTRN_FQLOG, INTRN_FQLOG10, INTRN_FQSIGN, INTRN_FQSIN, INTRN_FQSIND, INTRN_FQSINH, INTRN_FQTAN, INTRN_FQTAND, INTRN_FQTANH, INTRN_I1BCLR, INTRN_I1BITS, INTRN_I1BSET, INTRN_I1BTEST, INTRN_I1DIM, INTRN_I1LEADZ, INTRN_I1POPCNT, INTRN_I1SHFT, INTRN_I1SHFTC, INTRN_I1SHL, INTRN_I1SIGN, INTRN_I2BCLR, INTRN_I2BITS, INTRN_I2BSET, INTRN_I2BTEST, INTRN_I2DIM, INTRN_I2F4NINT, INTRN_I2F8IDNINT, INTRN_I2FQIQNINT, INTRN_I2LEADZ, INTRN_I2POPCNT, INTRN_I2SHFT, INTRN_I2SHFTC, INTRN_I2SHL, INTRN_I2SIGN, INTRN_I4BCLR, INTRN_I4BITS, INTRN_I4BSET, INTRN_I4BTEST, INTRN_I4DIM, INTRN_I4DIVCEIL, INTRN_I4DIVFLOOR, INTRN_I4EXPEXPR, INTRN_I4F4NINT, INTRN_I4F8IDNINT, INTRN_I4FQIQNINT, INTRN_I4LEADZ, INTRN_I4POPCNT, INTRN_I4SHFT, INTRN_I4SHFTC, INTRN_I4SIGN, INTRN_I8BCLR, INTRN_I8BITS, INTRN_I8BSET, INTRN_I8BTEST, INTRN_I8DIM, INTRN_I8DIVCEIL, INTRN_I8DIVFLOOR, INTRN_I8EXPEXPR, INTRN_I8F4NINT, INTRN_I8F8IDNINT, INTRN_I8FQIQNINT, INTRN_I8LEADZ, INTRN_I8POPCNT, INTRN_I8SHFT, INTRN_I8SHFTC, INTRN_I8SIGN, INTRN_U4DIVCEIL, INTRN_U4DIVFLOOR, INTRN_U8DIVCEIL, INTRN_U8DIVFLOOR, log(), log10(), log10f(), logf(), LOGICAL_MTYPE, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I2, MTYPE_I4, MTYPE_I8, one, OPC_F4ABS, OPC_F8ABS, OPC_FQABS, OPC_FQNEG, OPC_FQSUB, OPC_I4F4RND, OPC_I4F8RND, OPC_I4FQLT, OPC_I4FQRND, OPC_I4MPY, OPC_I8F4RND, OPC_I8F8RND, OPC_I8FQRND, OPC_U4MPY, PU_ftn_lang(), RAD_TO_DEG, sin(), sinf(), sinh(), sinhf(), size, sl, tan(), tanf(), tanh(), tanhf(), Targ_Conv(), Targ_IntrinsicOp(), Targ_Power(), Targ_WhirlOp(), TCON_I4, TCON_I8, TCON_IR16, TCON_IR4, TCON_IR8, TCON_R16, TCON_R4, TCON_R8, TCON_ty, TCON_U4, TCON_U8, TCON_v1, TRUE, U, UINT32, UINT64, and val.

Referenced by VN_INTR_OP_EXPR::simplify(), SIMPNODE_SimplifyIntrinsic(), and Targ_IntrinsicOp().

BOOL Targ_Is_Integral ( TCON  t,
INT64 iv 
)

BOOL Targ_Is_Power_Of_Two ( TCON  t  ) 

BOOL Targ_Is_Zero ( TCON  t  ) 

TCON Targ_Pow ( TCON  mantissa,
TCON  exponent 
)

Definition at line 4500 of file targ_const.cxx.

References INT32, r, and TCON_v0.

char* Targ_Print ( const char *  fmt,
TCON  cvalue 
)

char* Targ_String_Address ( TCON  cvalue  ) 

mUINT32 Targ_String_Length ( TCON  cvalue  ) 

INT64 Targ_To_Host ( TCON  cvalue  ) 

double Targ_To_Host_Float ( TCON  fvalue  ) 

QUAD_TYPE Targ_To_Host_Quad ( TCON  fvalue  ) 

INT64 Targ_To_Signed_Host ( TCON  cvalue  ) 

char* Tcon_To_Str ( char *  buf,
TCON  cval 
)


Variable Documentation

Definition at line 152 of file targ_const.cxx.

Definition at line 150 of file targ_const.cxx.

Referenced by VN_EXPR::get_tcon().

Definition at line 151 of file targ_const.cxx.


Generated on Wed Apr 8 14:40:11 2009 for Open64 by  doxygen 1.5.6