Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
targ_const.h File Reference
#include <string.h>
#include "config_host.h"
#include "mtypes.h"
Include dependency graph for targ_const.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QUAD_TYPE
struct  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)   memset (&c, '\0', sizeof(TCON))

Typedefs

typedef struct TCON TCON

Functions

const char * TCONFlags_To_Str (UINT64 flags)
UINT64 Str_To_TCONFlags (const char *str)
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_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_4 (TYPE_ID ctype, float real, float imag)
TCON Host_To_Targ_Complex (TYPE_ID ctype, double real, double 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, 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 Em_Targ_Emit_Const (void *scn, TCON tvalue, BOOL add_null, INTSC rc)
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)
void Check_TCON (TCON *tc)

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 225 of file targ_const.h.

#define TCON_ADD_NULL   0x1

Definition at line 223 of file targ_const.h.

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

Definition at line 224 of file targ_const.h.

Referenced by ST_size().


Typedef Documentation

typedef struct TCON TCON

Definition at line 209 of file targ_const.h.


Function Documentation

TCON Bit_Str_To_Tcon ( TYPE_ID  ctype,
char *  buf 
)

Definition at line 3442 of file targ_const.cxx.

References c, EC_Inv_Mtype, ErrMsg(), QUAD::hi, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), R16_To_RQ(), Set_TCON_R8, TCON_clear, TCON_R16, and TCON_ty.

Here is the call graph for this function:

Definition at line 3475 of file targ_const.cxx.

References c, EC_Inv_Mtype, ErrMsg(), QUAD::lo, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), R16_To_RQ(), Set_TCON_R8, TCON_clear, TCON_R16, and TCON_ty.

Here is the call graph for this function:

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

Definition at line 3700 of file targ_const.cxx.

References c, EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, Mtype_Name(), TCON_clear, TCON_IR4, TCON_IR8, TCON_R4, TCON_R8, and TCON_ty.

Referenced by fei_arith_con(), and Set_Tcon_Value().

Here is the call graph for this function:

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

Definition at line 3732 of file targ_const.cxx.

References c, EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, Mtype_Name(), TCON_clear, TCON_IR4, TCON_IR8, TCON_R4, TCON_R8, and TCON_ty.

Referenced by fei_arith_con(), and Set_Tcon_Value().

Here is the call graph for this function:

Definition at line 3518 of file targ_const.cxx.

References c, MTYPE_CQ, TCON_IR16, TCON_R16, and TCON_ty.

Referenced by fei_arith_con(), and Set_Tcon_Value().

TCON Host_To_Targ_Float_4 ( TYPE_ID  ctype,
float  fvalue 
)

Definition at line 3264 of file targ_const.cxx.

References c, EC_Inv_Mtype, ErrMsg(), Host_To_Targ_Float(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), Set_TCON_R4, Targ_Conv(), TCON_clear, TCON_R8, and TCON_ty.

Referenced by fei_arith_con().

Here is the call graph for this function:

Definition at line 3508 of file targ_const.cxx.

References c, MTYPE_FQ, TCON_R16, and TCON_ty.

Referenced by fei_arith_con(), and Set_Tcon_Value().

Definition at line 3300 of file targ_const.cxx.

References c, EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), TCON_clear, TCON_iv0, TCON_iv1, TCON_iv2, TCON_iv3, TCON_ty, TCON_v0, TCON_v1, TCON_v2, and TCON_v3.

Referenced by WN_UVConst().

Here is the call graph for this function:

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

Definition at line 3353 of file targ_const.cxx.

References c, EC_Inv_Mtype, ErrMsg(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, Mtype_Name(), Set_TCON_IR16, Set_TCON_IR4, Set_TCON_IR8, Set_TCON_R16, Set_TCON_R4, Set_TCON_R8, TCON_clear, TCON_R16, TCON_R4, TCON_R8, and TCON_ty.

Here is the call graph for this function:

TCON Str_To_Tcon ( TYPE_ID  ctype,
char *  buf 
)
UINT64 Str_To_TCONFlags ( const char *  str)

Definition at line 2912 of file targ_const.cxx.

References ir_a2b::MapStrToFlags(), and TCONFLAGS_ToStrTbl.

Here is the call graph for this function:

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 
)
BOOL Targ_Determine_High_Bit ( TCON  t,
INT32 highbit 
)
void Targ_Emit_Cmt ( FILE *  fl,
char *  cmt 
)
void Targ_Emit_Dim ( FILE *  fl,
struct ty *  ty,
INT  dim 
)
void Targ_Emit_Space ( FILE *  fl,
INT  len,
INT  loc 
)
void Targ_Emit_String ( FILE *  fl,
char *  str,
INT32  len,
INTSC  loc 
)

Definition at line 105 of file targ_em_const.cxx.

References APPEND_TO_DBUF, AS_BYTE, AS_STRING, ASM_CMNT, fprintf(), Has_Control_Char(), Is_True, len, and MAX_LEN.

Referenced by Targ_Emit_Const().

Here is the call graph for this function:

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

Definition at line 3677 of file targ_const.cxx.

References __c_fp_class_q(), EC_Inv_Mtype, ErrMsg(), fp_class_d(), fp_class_f(), FP_QNAN, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), R16_To_RQ(), TCON_R16, TCON_R4, TCON_R8, and TCON_ty.

Here is the call graph for this function:

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

Definition at line 2836 of file targ_const.cxx.

References c, EC_Inv_Mtype, ErrMsg(), MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), NULL, TCON_ty, TCON_u0, TCON_u1, TCON_u2, and TCON_u3.

Here is the call graph for this function:

Definition at line 4721 of file targ_const.cxx.

References FALSE, MTYPE_F4, MTYPE_F8, MTYPE_FQ, Targ_Is_Integral(), TCON_ty, TCON_v0, TCON_v1, TCON_v2, TCON_v3, and TRUE.

Referenced by simp_div().

Here is the call graph for this function:

TCON Targ_Pow ( TCON  mantissa,
TCON  exponent 
)

Definition at line 3593 of file targ_const.cxx.

References EC_Inv_Mtype, ErrMsg(), MTYPE_F4, MTYPE_F8, MTYPE_FQ, Mtype_Name(), Targ_Conv(), Targ_To_Host_Quad(), TCON_R16, and TCON_ty.

Referenced by Targ_To_Host_Quad().

Here is the call graph for this function:

char* Tcon_To_Str ( char *  buf,
TCON  cval 
)
const char* TCONFlags_To_Str ( UINT64  flags)

Definition at line 2904 of file targ_const.cxx.

References ir_a2b::MapFlagsToStr(), and TCONFLAGS_ToStrTbl.

Here is the call graph for this function:


Variable Documentation

Definition at line 169 of file targ_const.cxx.

Referenced by Targ_IntrinsicOp().

Definition at line 167 of file targ_const.cxx.

Definition at line 168 of file targ_const.cxx.

Referenced by Targ_Conv().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines