Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defs.h"
#include "glob.h"
#include "stab.h"
#include "strtab.h"
#include "erfe90.h"
#include "errors.h"
#include "config_targ.h"
#include "wn.h"
#include "wn_util.h"
#include "const.h"
#include "wintrinsic.h"
#include "f90_utils.h"
#include "i_cvrt.h"
#include "cwh_defines.h"
#include "cwh_addr.h"
#include "cwh_block.h"
#include "cwh_stk.h"
#include "cwh_types.h"
#include "cwh_expr.h"
#include "cwh_stmt.h"
#include "cwh_preg.h"
#include "cwh_stab.h"
#include "cwh_intrin.h"
#include "cwh_intrin.i"
Go to the source code of this file.
#define do_char_intrin | ( | name, | |
intr, | |||
args | |||
) | void name(TYPE type) {cwh_char_intrin(intr,args);} |
Definition at line 1656 of file cwh_intrin.cxx.
#define do_char_intrin_nt | ( | name, | |
intr, | |||
args | |||
) | void name(void) {cwh_char_intrin(intr,args);} |
Definition at line 1657 of file cwh_intrin.cxx.
void fei_##name(TYPE type) \ {simple_intrinsic(i_##name,TY_mtype(cast_to_TY(t_TY(type))),numargs,numpop);}
Definition at line 429 of file cwh_intrin.cxx.
#define do_simple_nt | ( | name, | |
numargs, | |||
numpop | |||
) |
void fei_##name(void) \ {simple_intrinsic_nt(i_##name,numargs,numpop);}
Definition at line 432 of file cwh_intrin.cxx.
#define do_transformational | ( | name, | |
intrn, | |||
numargs, | |||
is_numeric | |||
) |
void name(TYPE rtype) \ {cwh_do_tranformational(intrn,numargs,rtype,is_numeric,FALSE);}
Definition at line 1071 of file cwh_intrin.cxx.
#define do_transformational_cvt | ( | name, | |
intrn, | |||
numargs, | |||
is_numeric | |||
) |
void name(TYPE rtype) \ {cwh_do_tranformational(intrn,numargs,rtype,is_numeric,TRUE);}
Definition at line 1074 of file cwh_intrin.cxx.
#define IEEE_INTRINCALL | ( | name, | |
intrin, | |||
rty, | |||
nargs, | |||
warn_msg | |||
) | extern void name (void) {cwh_intrin_ieee_intrin_call_helper(INTRN_##intrin,rty,nargs,warn_msg,#intrin); } |
Definition at line 2027 of file cwh_intrin.cxx.
#define MAXARGS 6 |
Definition at line 983 of file cwh_intrin.cxx.
Referenced by cwh_do_tranformational().
#define SELECT_INTRINSIC | ( | t, | |
f | |||
) |
Definition at line 1848 of file cwh_intrin.cxx.
Referenced by fei_fpclass(), fei_isfinite(), fei_isnan(), fei_isunordered(), fei_logb(), fei_remainder(), and fei_scalb().
#define SYNC_INTRIN | ( | name, | |
iname, | |||
nargs | |||
) |
void name (TYPE type) {\ cwh_intrin_sync_intrin(INTRN_##iname##_I4,INTRN_##iname##_I8,TY_mtype(cast_to_TY(t_TY(type))),nargs);}
Definition at line 2233 of file cwh_intrin.cxx.
#define UNIMPLEMENTED | ( | fname | ) | void fname() {printf("%3d %s\n",__LINE__,# fname);} |
Definition at line 1992 of file cwh_intrin.cxx.
static void cwh_ceiling_floor | ( | TYPE | type, |
OPERATOR | opr | ||
) | [static] |
Definition at line 936 of file cwh_intrin.cxx.
References cast_to_TY, cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_make_typed_opcode(), cwh_stk_push(), NULL, t_TY, TY_mtype(), wn, WN_CreateExp1(), WN_item, and WN_rtype().
Referenced by fei_ceiling(), and fei_floor().
static void cwh_char_intrin | ( | INTRINSIC | intr, |
INT | numargs | ||
) | [static] |
Definition at line 1627 of file cwh_intrin.cxx.
References cwh_expr_address(), cwh_expr_operand(), cwh_intrin_wrap_char_parm(), cwh_intrin_wrap_value_parm(), cwh_stk_get_class(), cwh_stk_pop_STR(), cwh_stk_push(), f_NONE, NULL, numargs, OPC_I4INTRINSIC_OP, STR_item, wn, WN_COPY_Tree(), WN_Create_Intrinsic(), and WN_item.
static void cwh_do_tranformational | ( | INTRINSIC | intrn, |
INT | numargs, | ||
TYPE | rtype, | ||
BOOL | is_numeric, | ||
BOOL | cvt_to_rtype | ||
) | [static] |
Definition at line 986 of file cwh_intrin.cxx.
References cast_to_TY, cwh_convert_to_ty(), cwh_expr_address(), cwh_expr_operand(), cwh_intrin_null_parm(), cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), cwh_stk_get_class(), cwh_stk_get_TY(), cwh_stk_pop_STR(), cwh_stk_push_STR(), cwh_stk_push_typed(), cwh_types_make_pointer_type(), cwh_wrap_cvtl(), F90_Wrap_ARREXP(), f_NONE, FALSE, KIND_POINTER, MAXARGS, MTYPE_M, MTYPE_V, NULL, OPC_MINTRINSIC_OP, OPR_INTRINSIC_OP, Pointer_Mtype, STR_item, t_TY, TRUE, TY_kind(), TY_mtype(), TY_pointed(), wn, WN_COPY_Tree(), WN_Create_Intrinsic(), WN_CreateMload(), WN_CreateParm(), WN_item, WN_operator(), WN_PARM_BY_VALUE, WN_set_opcode(), and WNRTY.
static void cwh_funny_fp_intrinsic | ( | INTRINSIC | intr, |
INT | numargs, | ||
WN ** | args, | ||
TY_IDX | ty, | ||
BOOL | cvtf4, | ||
WN * | ae | ||
) | [static] |
Definition at line 1813 of file cwh_intrin.cxx.
References cwh_convert_to_ty(), cwh_expr_restore_arrayexp(), cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), cwh_stk_push_typed(), MTYPE_F4, MTYPE_F8, MTYPE_V, numargs, OPC_F8INTRINSIC_OP, OPR_INTRINSIC_OP, TY_mtype(), wn, WN_Create_Intrinsic(), WN_item, and WN_rtype().
Referenced by fei_fpclass(), fei_isfinite(), fei_isnan(), fei_isunordered(), fei_logb(), fei_remainder(), and fei_scalb().
static WN* cwh_intrin_build | ( | WN ** | k, |
INTRINSIC | intr, | ||
TYPE_ID | bt, | ||
INT | numargs | ||
) | [static] |
Definition at line 2360 of file cwh_intrin.cxx.
References cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), MTYPE_V, numargs, OPR_INTRINSIC_OP, wn, and WN_Create_Intrinsic().
Referenced by fei_abs(), fei_alloc(), fei_exponent(), fei_exponentiate(), fei_ieee_trunc(), fei_near(), fei_scale(), fei_set_exponent(), fei_trunc(), simple_intrinsic(), and simple_intrinsic_nt().
Definition at line 2283 of file cwh_intrin.cxx.
References cwh_block_append(), cwh_intrin_wrap_char_parm(), cwh_intrin_wrap_ref_parm(), cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), MTYPE_V, NULL, numargs, OPR_INTRINSIC_CALL, wn, WN_Create_Intrinsic(), and WN_Set_Call_Default_Flags.
Referenced by cwh_addr_insert_bounds_check(), cwh_intrin_ieee_intrin_call_helper(), cwh_intrin_ieee_intrin_helper(), cwh_intrin_sync_intrin(), cwh_stmt_character_icall(), fei_concat(), fei_free(), fei_malloc(), and fei_mfree().
static WN* cwh_intrin_get_return_value | ( | TYPE_ID | rtype, |
char * | name | ||
) | [static] |
Definition at line 113 of file cwh_intrin.cxx.
References cwh_block_append(), cwh_expr_operand(), cwh_preg_next_preg(), NULL, PREG_det::preg, wn, WN_LdidPreg(), and WN_StidPreg.
Referenced by cwh_intrin_ieee_intrin_helper(), cwh_intrin_sync_intrin(), fei_length(), fei_malloc(), fei_omp_test_lock(), fei_rtc(), and fei_unit().
static void cwh_intrin_ieee_intrin_call_helper | ( | INTRINSIC | intrin, |
TYPE_ID | type, | ||
INT | nargs, | ||
BOOL | issue_warning, | ||
char * | iname | ||
) | [static] |
Definition at line 1998 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_expr_operand(), cwh_intrin_call(), cwh_stk_push(), cwh_stmt_return_scalar(), EC_IEEE_Intrinsic_Warning, ErrMsg(), FALSE, MTYPE_V, NULL, Opt_Level, TRUE, wn, and WN_item.
static void cwh_intrin_ieee_intrin_helper | ( | INTRINSIC | intrin, |
BOOL | issue_warning, | ||
char * | iname | ||
) | [static] |
Definition at line 2046 of file cwh_intrin.cxx.
References cwh_block_exchange_current(), cwh_block_new_and_current(), cwh_expr_operand(), cwh_intrin_call(), cwh_intrin_get_return_value(), cwh_stk_push(), cwh_stk_push_typed(), cwh_stmt_return_scalar(), EC_IEEE_Intrinsic_Warning, ErrMsg(), FALSE, logical4_ty, MTYPE_I4, NULL, OPC_I4COMMA, Opt_Level, TRUE, wn, WN_CreateComma(), and WN_item.
Referenced by fei_test_estat(), and fei_test_interupt().
ST* cwh_intrin_make_intrinsic_symbol | ( | char * | name, |
TYPE_ID | bt | ||
) |
Definition at line 179 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_stab_mk_fn_0args(), EXPORT_PREEMPTIBLE, and GLOBAL_SYMTAB.
Referenced by cwh_inline_allocate(), fei_length(), fei_omp_set_lock(), fei_omp_test_lock(), fei_omp_unset_lock(), fei_ranget(), fei_ranset(), fei_rtc(), and fei_unit().
static WN* cwh_intrin_null_parm | ( | void | ) | [static] |
Definition at line 161 of file cwh_intrin.cxx.
References Be_Type_Tbl, MTYPE_I4, MTYPE_V, wn, WN_CreateParm(), and WN_Zerocon().
Referenced by cwh_do_tranformational(), fei_dot_product(), and fei_dot_product_logical().
Definition at line 2327 of file cwh_intrin.cxx.
References cwh_intrin_wrap_char_parm(), cwh_intrin_wrap_ref_parm(), cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), MTYPE_V, NULL, numargs, OPR_INTRINSIC_OP, wn, and WN_Create_Intrinsic().
Referenced by cwh_expr_compare_char().
static void cwh_intrin_popcnt_leadz_helper | ( | INTRINSIC | i1, |
INTRINSIC | i2, | ||
INTRINSIC | i4, | ||
INTRINSIC | i8, | ||
TYPE | rtype, | ||
TYPE | arg | ||
) | [static] |
Definition at line 1724 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_convert_to_ty(), cwh_expr_bincalc(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_wrap_value_parm(), cwh_stk_push(), DevAssert, i1, i2, i4, i8, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_is_integral, MTYPE_size_reg, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, NULL, OPC_I4INTRINSIC_OP, OPR_BAND, t_TY, TY_mtype(), wn, WN_Create_Intrinsic(), WN_Intconst(), WN_item, and WN_Tas().
Referenced by fei_leadz(), and fei_popcnt().
static void cwh_intrin_sync_intrin | ( | INTRINSIC | i4intrin, |
INTRINSIC | i8intrin, | ||
TYPE_ID | rtype, | ||
INT | num_args | ||
) | [static] |
Definition at line 2172 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_addr_address_ST(), cwh_addr_store_ST(), cwh_block_append(), cwh_expr_address(), cwh_expr_operand(), cwh_expr_set_flags(), cwh_intrin_call(), cwh_intrin_get_return_value(), cwh_stab_temp_ST(), cwh_stk_get_class(), cwh_stk_push(), cwh_stmt_return_scalar(), f_T_PASSED, FALSE, MTYPE_I8, MTYPE_V, NULL, ST_item, TRUE, wn, WN_CreateBarrier(), WN_item, and WNRTY.
Referenced by fei_lock_release(), and fei_synchronize().
WN* cwh_intrin_wrap_char_parm | ( | WN * | wa, |
WN * | sz | ||
) |
Definition at line 268 of file cwh_intrin.cxx.
References cwh_intrin_wrap_ref_parm(), cwh_types_ch_parm_TY(), DevAssert, NULL, and wn.
Referenced by cwh_char_intrin(), cwh_intrin_call(), cwh_intrin_op(), cwh_stmt_call_helper(), and fei_stop().
WN* cwh_intrin_wrap_ref_parm | ( | WN * | wa, |
TY_IDX | ty | ||
) |
Definition at line 239 of file cwh_intrin.cxx.
References cwh_types_WN_TY(), Pointer_Mtype, TRUE, wn, WN_CreateParm(), and WN_PARM_BY_REFERENCE.
Referenced by cwh_inline_allocate(), cwh_intrin_call(), cwh_intrin_op(), cwh_intrin_wrap_char_parm(), cwh_stmt_call_helper(), and fei_allocate().
WN* cwh_intrin_wrap_value_parm | ( | WN * | w | ) |
Definition at line 196 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_types_WN_TY(), FALSE, MTYPE_M, NULL, OPR_PARM, WN_CreateParm(), WN_PARM_BY_VALUE, WN_rtype(), and WNOPR.
Referenced by cwh_char_intrin(), cwh_do_tranformational(), cwh_funny_fp_intrinsic(), cwh_inline_allocate(), cwh_intrin_build(), cwh_intrin_call(), cwh_intrin_op(), cwh_intrin_popcnt_leadz_helper(), cwh_stmt_call_helper(), cwh_stmt_insert_conformance_check(), fei_allocate(), fei_count(), fei_dot_product(), fei_dot_product_logical(), fei_matmul(), fei_round(), fei_stop(), and fei_trunc().
void cwh_whirl_simplfier_control | ( | BOOL | onoff | ) |
Definition at line 2389 of file cwh_intrin.cxx.
References WN_Simplifier_Enable().
do_char_intrin | ( | fei_scan | , |
INTRN_SCAN | , | ||
3 | |||
) |
do_char_intrin_nt | ( | fei_index | , |
INTRN_F90INDEX | , | ||
3 | |||
) |
do_char_intrin_nt | ( | fei_len | , |
INTRN_I4CLEN | , | ||
1 | |||
) |
Definition at line 1663 of file cwh_intrin.cxx.
References cwh_stk_push(), cwh_stmt_character_icall(), INTRN_ADJUSTL, NULL, and WN_item.
do_simple | ( | acos | , |
1 | , | ||
0 | |||
) |
do_simple | ( | atan | , |
1 | , | ||
0 | |||
) |
do_simple | ( | conjg | , |
1 | , | ||
0 | |||
) |
do_simple | ( | log | , |
1 | , | ||
0 | |||
) |
do_simple | ( | mod | , |
2 | , | ||
0 | |||
) |
do_simple | ( | nextafter | , |
2 | , | ||
0 | |||
) |
do_simple | ( | sin | , |
1 | , | ||
0 | |||
) |
do_simple | ( | space | , |
1 | , | ||
1 | |||
) |
do_simple | ( | tan | , |
1 | , | ||
0 | |||
) |
do_simple | ( | acosd | , |
1 | , | ||
0 | |||
) |
do_simple | ( | atand | , |
1 | , | ||
0 | |||
) |
do_simple | ( | cosd | , |
1 | , | ||
0 | |||
) |
do_simple | ( | tand | , |
1 | , | ||
0 | |||
) |
Definition at line 464 of file cwh_intrin.cxx.
References cast_to_TY, cwh_convert_to_ty(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_stk_push(), GET_ITAB_WOP, i_complex, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, NULL, t_TY, TY_mtype(), wn, WN_CreateExp2(), and WN_item.
do_simple_nt | ( | fraction | , |
1 | , | ||
0 | |||
) |
do_transformational | ( | fei_spread | , |
INTRN_SPREAD | , | ||
3 | , | ||
FALSE | |||
) |
FALSE do_transformational | ( | fei_all | , |
INTRN_ALL | , | ||
2 | , | ||
TRUE | |||
) |
FALSE TRUE do_transformational | ( | fei_product | , |
INTRN_PRODUCT | , | ||
3 | , | ||
TRUE | |||
) |
FALSE TRUE TRUE do_transformational | ( | fei_maxval | , |
INTRN_MAXVAL | , | ||
3 | , | ||
TRUE | |||
) |
FALSE TRUE TRUE TRUE do_transformational | ( | fei_maxloc | , |
INTRN_MAXLOC | , | ||
2 | , | ||
TRUE | |||
) |
FALSE TRUE TRUE TRUE TRUE do_transformational | ( | fei__maxloc | , |
INTRN_MAXLOC | , | ||
3 | , | ||
TRUE | |||
) |
FALSE TRUE TRUE TRUE TRUE TRUE do_transformational | ( | fei_pack | , |
INTRN_PACK | , | ||
3 | , | ||
FALSE | |||
) |
FALSE TRUE TRUE TRUE TRUE TRUE FALSE do_transformational | ( | fei_cshift | , |
INTRN_CSHIFT | , | ||
3 | , | ||
FALSE | |||
) |
Definition at line 532 of file cwh_intrin.cxx.
References cast_to_TY, cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_build(), cwh_stk_push(), cwh_types_scalar_TY(), cwh_types_WN_TY(), cwh_wrap_cvtl(), FALSE, i_abs, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_is_complex, NULL, simple_intrinsic(), t_TY, TY_mtype(), wn, and WN_item.
Referenced by cvrt_exp_to_pdg(), fei_ieee_sign_xfer(), and fei_sign_xfer().
void fei_adjustr | ( | TYPE | type | ) |
Definition at line 1685 of file cwh_intrin.cxx.
References cwh_stk_push(), cwh_stmt_character_icall(), INTRN_ADJUSTR, NULL, and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_alloc | ( | void | ) |
Definition at line 1309 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_intrin_build(), cwh_stk_push(), Heap_Allocation_Threshold, NULL, Pointer_Mtype, wn, and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_ceiling | ( | TYPE | type | ) |
Definition at line 957 of file cwh_intrin.cxx.
References cwh_ceiling_floor(), and OPR_CEIL.
Referenced by cvrt_exp_to_pdg().
Definition at line 572 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_stk_push(), fei_div(), fei_tan(), MTYPE_I4, NULL, one, wn, WN_Intconst(), and WN_item.
Referenced by cvrt_exp_to_pdg().
Definition at line 1231 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), cwh_stk_push(), F90_Wrap_ARREXP(), INTRN_COUNT, MTYPE_B, MTYPE_I4, MTYPE_I8, MTYPE_V, NULL, OPR_INTRINSIC_OP, OPR_NE, Pointer_Size, wn, WN_Create_Intrinsic(), WN_CreateExp2(), WN_Intconst(), WN_item, WN_rtype(), and WN_Zerocon().
Referenced by cvrt_exp_to_pdg().
void fei_dot_product | ( | TYPE | rtype | ) |
Definition at line 1141 of file cwh_intrin.cxx.
References cast_to_TY, cwh_convert_to_ty(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_null_parm(), cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), cwh_stk_push_typed(), cwh_wrap_cvtl(), INTRN_SUM, MTYPE_C4, MTYPE_C8, MTYPE_is_complex, MTYPE_V, NULL, OPR_INTRINSIC_OP, OPR_MPY, t_TY, TY_mtype(), wn, WN_Create_Intrinsic(), WN_CreateExp2(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_dot_product_logical | ( | TYPE | rtype | ) |
Definition at line 1201 of file cwh_intrin.cxx.
References cast_to_TY, cwh_convert_to_ty(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_get_highest_type(), cwh_intrin_null_parm(), cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), cwh_stk_push_typed(), INTRN_ANY, MTYPE_V, NULL, OPC_I4LAND, OPR_INTRINSIC_OP, t_TY, wn, WN_Create_Intrinsic(), WN_CreateExp2(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_exponent | ( | TYPE | type | ) |
Definition at line 816 of file cwh_intrin.cxx.
References cast_to_TY, cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_build(), cwh_stk_push(), GET_ITAB_IOP, i_exponent, NULL, t_TY, TY_mtype(), wn, WN_item, and WN_rtype().
Referenced by cvrt_exp_to_pdg().
void fei_exponentiate | ( | TYPE | type | ) |
Definition at line 585 of file cwh_intrin.cxx.
References cast_to_TY, cwh_convert_to_ty(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_get_typed_operand(), cwh_intrin_build(), cwh_stk_push(), MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, NULL, t_TY, TY_mtype(), wn, WN_item, and WN_rtype().
Referenced by cvrt_exp_to_pdg().
Definition at line 962 of file cwh_intrin.cxx.
References cwh_ceiling_floor(), and OPR_FLOOR.
Referenced by cvrt_exp_to_pdg().
void fei_fpclass | ( | TYPE | type | ) |
Definition at line 1979 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_expr_operand(), cwh_funny_fp_intrinsic(), FALSE, MTYPE_I4, NULL, SELECT_INTRINSIC, and WN_rtype().
Referenced by cvrt_exp_to_pdg().
void fei_free | ( | void | ) |
Definition at line 1352 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_intrin_call(), Heap_Allocation_Threshold, NULL, Pointer_Mtype, TRUE, and val.
Referenced by cvrt_exp_to_pdg().
Definition at line 1547 of file cwh_intrin.cxx.
References cast_to_TY, cwh_expr_bincalc(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_generate_bitmask(), cwh_stk_push(), cwh_wrap_cvtl(), len, Mtype_comparison(), NULL, OPR_BAND, t_TY, TY_mtype(), WN_item, and WN_Lshr.
Referenced by cvrt_exp_to_pdg().
void fei_ieee_round | ( | TYPE | type | ) |
Definition at line 1693 of file cwh_intrin.cxx.
References fei_cvtop().
Referenced by cvrt_exp_to_pdg().
void fei_ieee_sign_xfer | ( | TYPE | type | ) |
Definition at line 879 of file cwh_intrin.cxx.
References Be_Type_Tbl, cast_to_TY, cwh_expr_bincalc(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_stk_push(), fei_abs(), fei_sign_xfer(), MTYPE_bit_size, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I4, MTYPE_I8, NULL, OPR_BIOR, t_TY, TY_mtype(), WN_Intconst(), WN_item, WN_Lshr, WN_LT, WN_Shl, WN_Tas(), WN_Zerocon(), and WNRTY.
Referenced by cvrt_exp_to_pdg().
void fei_ieee_trunc | ( | TYPE | type | ) |
Definition at line 1700 of file cwh_intrin.cxx.
References cast_to_TY, cwh_convert_to_ty(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_build(), cwh_stk_push_typed(), cwh_wrap_cvtl(), GET_ITAB_IOP, i_ieee_int, MTYPE_FQ, NULL, t_TY, TY_mtype(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_isfinite | ( | TYPE | type | ) |
Definition at line 1936 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_funny_fp_intrinsic(), logical4_ty, NULL, SELECT_INTRINSIC, TRUE, and WN_rtype().
Referenced by cvrt_exp_to_pdg().
Definition at line 1950 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_funny_fp_intrinsic(), FALSE, logical4_ty, NULL, SELECT_INTRINSIC, and WN_rtype().
Referenced by cvrt_exp_to_pdg().
void fei_isunordered | ( | TYPE | type | ) |
Definition at line 1964 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_funny_fp_intrinsic(), logical4_ty, NULL, SELECT_INTRINSIC, TRUE, and WN_rtype().
Referenced by cvrt_exp_to_pdg().
Definition at line 1782 of file cwh_intrin.cxx.
References cwh_intrin_popcnt_leadz_helper(), INTRN_I1LEADZ, INTRN_I2LEADZ, INTRN_I4LEADZ, and INTRN_I8LEADZ.
Referenced by cvrt_exp_to_pdg().
void fei_length | ( | void | ) |
Definition at line 1494 of file cwh_intrin.cxx.
References ADDR_item, Be_Type_Tbl, cwh_expr_address(), cwh_intrin_get_return_value(), cwh_intrin_make_intrinsic_symbol(), cwh_stk_push(), cwh_stmt_call_helper(), f_T_PASSED, MTYPE_I4, ST_item, wn, and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_lock_release | ( | void | ) |
Definition at line 2259 of file cwh_intrin.cxx.
References cwh_intrin_sync_intrin(), and MTYPE_V.
Referenced by cvrt_exp_to_pdg().
Definition at line 1885 of file cwh_intrin.cxx.
References Be_Type_Tbl, cast_to_TY, cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_funny_fp_intrinsic(), cwh_get_typed_operand(), cwh_stk_push_typed(), cwh_wrap_cvtl(), MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_is_integral, NULL, OPC_I4MIN, SELECT_INTRINSIC, t_TY, TRUE, TY_mtype(), wn, WN_COPY_Tree(), WN_CreateExp2(), WN_EQ, WN_Intconst(), WN_item, WN_rtype(), WN_Select, and WN_Zerocon().
Referenced by cvrt_exp_to_pdg().
void fei_malloc | ( | void | ) |
Definition at line 1281 of file cwh_intrin.cxx.
References Be_Type_Tbl, current_srcpos, cwh_expr_operand(), cwh_intrin_call(), cwh_intrin_get_return_value(), cwh_stk_push(), cwh_stmt_return_scalar(), FALSE, NULL, Pointer_Mtype, Pointer_Size, TRUE, USRCPOS_linenum, wn, WN_item, and WN_Set_Call_Does_Mem_Alloc.
Referenced by cvrt_exp_to_pdg().
Definition at line 1104 of file cwh_intrin.cxx.
References cast_to_TY, cwh_convert_to_ty(), cwh_expr_operand(), cwh_intrin_wrap_value_parm(), cwh_stk_push_typed(), cwh_wrap_cvtl(), F90_Wrap_ARREXP(), INTRN_MATMUL, MTYPE_B, MTYPE_V, NULL, OPR_INTRINSIC_OP, t_TY, TY_is_logical(), TY_mtype(), wn, WN_Create_Intrinsic(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_mfree | ( | void | ) |
Definition at line 1336 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_intrin_call(), MTYPE_V, NULL, Pointer_Size, TRUE, val, and WN_Set_Call_Does_Mem_Free.
Referenced by cvrt_exp_to_pdg().
void fei_mvbits | ( | TYPE | type | ) |
Definition at line 1579 of file cwh_intrin.cxx.
References cast_to_TY, cwh_expr_bincalc(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_generate_bitmask(), cwh_stk_push(), cwh_wrap_cvtl(), fei_store(), len, Mtype_comparison(), MTYPE_V, NULL, OPR_BAND, OPR_BIOR, OPR_BNOT, OPR_SHL, t1, t_TY, TY_mtype(), WN_COPY_Tree(), WN_CreateExp1(), WN_item, WN_Lshr, and WN_Shl.
Referenced by cvrt_exp_to_pdg().
Definition at line 778 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_build(), cwh_stk_push(), GET_ITAB_IOP, i_near, NULL, wn, WN_DELETE_Tree(), WN_item, and WN_rtype().
Referenced by cvrt_exp_to_pdg().
void fei_omp_set_lock | ( | void | ) |
Definition at line 2097 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_block_append(), cwh_expr_address(), cwh_intrin_make_intrinsic_symbol(), cwh_stk_push(), cwh_stmt_call_helper(), f_T_PASSED, FALSE, MTYPE_V, ST_item, wn, WN_CreateBarrier(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_omp_test_lock | ( | void | ) |
Definition at line 2137 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_block_append(), cwh_expr_address(), cwh_intrin_get_return_value(), cwh_intrin_make_intrinsic_symbol(), cwh_stk_push(), cwh_stk_push_typed(), cwh_stmt_call_helper(), f_T_PASSED, FALSE, logical4_ty, MTYPE_I4, ST_item, wn, WN_CreateBarrier(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_omp_unset_lock | ( | void | ) |
Definition at line 2116 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_block_append(), cwh_expr_address(), cwh_intrin_make_intrinsic_symbol(), cwh_stk_push(), cwh_stmt_call_helper(), f_T_PASSED, MTYPE_V, ST_item, TRUE, wn, WN_CreateBarrier(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_popcnt | ( | TYPE | type, |
TYPE | arg | ||
) |
Definition at line 1774 of file cwh_intrin.cxx.
References cwh_intrin_popcnt_leadz_helper(), INTRN_I1POPCNT, INTRN_I2POPCNT, INTRN_I4POPCNT, and INTRN_I8POPCNT.
Referenced by cvrt_exp_to_pdg(), and fei_poppar().
void fei_poppar | ( | TYPE | type, |
TYPE | arg | ||
) |
Definition at line 1789 of file cwh_intrin.cxx.
References cwh_expr_bincalc(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_stk_push(), fei_popcnt(), MTYPE_I4, NULL, OPR_BAND, wn, WN_Intconst(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_pos_diff | ( | TYPE | type | ) |
Definition at line 838 of file cwh_intrin.cxx.
References cwh_stk_push(), fei_max(), fei_minus(), MTYPE_I4, WN_Intconst(), WN_item, and zero.
Referenced by cvrt_exp_to_pdg().
void fei_present | ( | void | ) |
Definition at line 1518 of file cwh_intrin.cxx.
References arg, cwh_expr_address(), cwh_stk_push_typed(), f_NONE, logical4_ty, MTYPE_I4, OPR_NE, Pointer_Mtype, wn, WN_CreateExp2(), WN_Intconst(), and WN_item.
Referenced by cvrt_exp_to_pdg().
Definition at line 1381 of file cwh_intrin.cxx.
References cast_to_TY, cwh_stk_push(), MTYPE_F4, NULL, OPC_F4INTRINSIC_OP, OPC_F8INTRINSIC_OP, t_TY, TY_mtype(), wn, WN_Create_Intrinsic(), and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_ranget | ( | TYPE | type | ) |
Definition at line 1406 of file cwh_intrin.cxx.
References ADDR_item, Be_Type_Tbl, cwh_expr_address(), cwh_intrin_make_intrinsic_symbol(), cwh_stk_push(), cwh_stmt_call_helper(), f_T_PASSED, MTYPE_V, NULL, ST_item, and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_ranset | ( | TYPE | type | ) |
Definition at line 1435 of file cwh_intrin.cxx.
References ADDR_item, Be_Type_Tbl, cwh_expr_address(), cwh_intrin_make_intrinsic_symbol(), cwh_stk_push(), cwh_stmt_call_helper(), f_T_PASSED, MTYPE_V, NULL, ST_item, wn, and WN_item.
Referenced by cvrt_exp_to_pdg().
void fei_remainder | ( | TYPE | type | ) |
Definition at line 1867 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_convert_to_ty(), cwh_expr_operand(), cwh_funny_fp_intrinsic(), cwh_get_highest_type(), NULL, SELECT_INTRINSIC, and TRUE.
Referenced by cvrt_exp_to_pdg().
Definition at line 665 of file cwh_intrin.cxx.
References Be_Type_Tbl, cast_to_TY, cwh_convert_to_ty(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), cwh_stk_push_typed(), cwh_wrap_cvtl(), MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_is_float, MTYPE_V, NULL, OPR_INTRINSIC_OP, t_TY, TY_mtype(), wn, WN_Create_Intrinsic(), WN_item, and WNRTY.
Referenced by cvrt_exp_to_pdg().
Definition at line 1454 of file cwh_intrin.cxx.
References Be_Type_Tbl, cast_to_TY, cwh_convert_to_ty(), cwh_intrin_get_return_value(), cwh_intrin_make_intrinsic_symbol(), cwh_stk_push(), cwh_stmt_call_helper(), MTYPE_I8, ST_item, t_TY, TY_mtype(), wn, and WN_item.
Referenced by cvrt_exp_to_pdg().
Definition at line 1852 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_expr_operand(), cwh_funny_fp_intrinsic(), cwh_get_typed_operand(), MTYPE_I4, NULL, SELECT_INTRINSIC, TRUE, and WN_rtype().
Referenced by cvrt_exp_to_pdg().
Definition at line 760 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_get_typed_operand(), cwh_intrin_build(), cwh_stk_push(), GET_ITAB_IOP, i_scale, MTYPE_I4, NULL, wn, WN_item, and WN_rtype().
Referenced by cvrt_exp_to_pdg().
void fei_set_exponent | ( | TYPE | type | ) |
Definition at line 798 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_get_typed_operand(), cwh_intrin_build(), cwh_stk_push(), GET_ITAB_IOP, i_set_exponent, MTYPE_I4, NULL, wn, WN_item, and WN_rtype().
Referenced by cvrt_exp_to_pdg().
void fei_sign_xfer | ( | TYPE | type | ) |
Definition at line 851 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_stk_push(), fei_abs(), fei_ge(), fei_select(), fei_uminus(), NULL, WN_COPY_Tree(), WN_item, WN_rtype(), and WN_Zerocon().
Referenced by cvrt_exp_to_pdg(), and fei_ieee_sign_xfer().
void fei_synchronize | ( | void | ) |
Definition at line 2253 of file cwh_intrin.cxx.
References cwh_intrin_sync_intrin(), and MTYPE_V.
Referenced by cvrt_exp_to_pdg().
void fei_test_estat | ( | void | ) |
Definition at line 2088 of file cwh_intrin.cxx.
References cwh_intrin_ieee_intrin_helper(), INTRN_TEST_IEEE_EXCEPTION, and TRUE.
Referenced by cvrt_exp_to_pdg().
void fei_test_interupt | ( | void | ) |
Definition at line 2082 of file cwh_intrin.cxx.
References cwh_intrin_ieee_intrin_helper(), FALSE, INTRN_TEST_IEEE_INTERRUPT, and NULL.
Referenced by cvrt_exp_to_pdg().
Definition at line 736 of file cwh_intrin.cxx.
References cast_to_TY, cwh_convert_to_ty(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_build(), cwh_intrin_wrap_value_parm(), cwh_stk_push(), DevAssert, GET_ITAB_IOP, i_trunc, NULL, t_TY, TY_mtype(), wn, WN_item, and WNRTY.
Referenced by cvrt_exp_to_pdg().
void fei_unit | ( | void | ) |
Definition at line 1471 of file cwh_intrin.cxx.
References ADDR_item, Be_Type_Tbl, cwh_expr_address(), cwh_intrin_get_return_value(), cwh_intrin_make_intrinsic_symbol(), cwh_stk_push(), cwh_stmt_call_helper(), f_T_PASSED, MTYPE_F4, ST_item, wn, and WN_item.
Referenced by cvrt_exp_to_pdg().
IEEE_INTRINCALL | ( | fei_set_all_estat | , |
SET_IEEE_EXCEPTIONS | , | ||
MTYPE_V | , | ||
1 | , | ||
TRUE | |||
) |
IEEE_INTRINCALL | ( | fei_get_interupt | , |
GET_IEEE_INTERRUPTS | , | ||
MTYPE_I4 | , | ||
0 | , | ||
FALSE | |||
) |
IEEE_INTRINCALL | ( | fei_get_all_estat | , |
GET_IEEE_EXCEPTIONS | , | ||
MTYPE_I4 | , | ||
0 | , | ||
TRUE | |||
) |
IEEE_INTRINCALL | ( | fei_readsr | , |
GET_IEEE_STATUS | , | ||
MTYPE_I4 | , | ||
1 | , | ||
TRUE | |||
) |
IEEE_INTRINCALL | ( | fei_get_rmode | , |
GET_IEEE_ROUNDING_MODE | , | ||
MTYPE_I4 | , | ||
0 | , | ||
FALSE | |||
) |
IEEE_INTRINCALL | ( | fei_set_rmode | , |
SET_IEEE_ROUNDING_MODE | , | ||
MTYPE_V | , | ||
1 | , | ||
TRUE | |||
) |
IEEE_INTRINCALL | ( | fei_set_ieee_stat | , |
SET_IEEE_STATUS | , | ||
MTYPE_V | , | ||
1 | , | ||
TRUE | |||
) |
IEEE_INTRINCALL | ( | fei_set_interupt | , |
SET_IEEE_INTERRUPTS | , | ||
MTYPE_V | , | ||
1 | , | ||
TRUE | |||
) |
IEEE_INTRINCALL | ( | fei_set_estat | , |
SET_IEEE_EXCEPTION | , | ||
MTYPE_V | , | ||
2 | , | ||
TRUE | |||
) |
IEEE_INTRINCALL | ( | fei_dsbl_interupt | , |
DISABLE_IEEE_INTERRUPT | , | ||
MTYPE_V | , | ||
1 | , | ||
TRUE | |||
) |
IEEE_INTRINCALL | ( | fei_enbl_interupt | , |
ENABLE_IEEE_INTERRUPT | , | ||
MTYPE_V | , | ||
1 | , | ||
TRUE | |||
) |
static void simple_intrinsic | ( | i_enum | intrin, |
TYPE_ID | bt, | ||
INT | numargs, | ||
INT | numpop | ||
) | [static] |
Definition at line 296 of file cwh_intrin.cxx.
References Be_Type_Tbl, cwh_convert_to_ty(), cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_build(), cwh_stk_push(), DevAssert, GET_ITAB_IOP, GET_ITAB_WOP, NULL, numargs, wn, WN_CreateExp1(), WN_CreateExp2(), WN_CreateExp3(), WN_CreateParm(), WN_DELETE_Tree(), WN_item, WN_PARM_BY_VALUE, WN_rtype(), and WNRTY.
Referenced by fei_abs().
static void simple_intrinsic_nt | ( | i_enum | intrin, |
INT | numargs, | ||
INT | numpop | ||
) | [static] |
Definition at line 369 of file cwh_intrin.cxx.
References cwh_expr_operand(), cwh_expr_restore_arrayexp(), cwh_intrin_build(), cwh_stk_push(), DevAssert, GET_ITAB_IOP, GET_ITAB_WOP, NULL, wn, WN_CreateExp1(), WN_CreateExp2(), WN_CreateExp3(), WN_DELETE_Tree(), WN_item, and WN_rtype().
static t_enum t_from_mtype | ( | TYPE_ID | ty | ) | [static] |
Definition at line 98 of file cwh_intrin.cxx.
Definition at line 1080 of file cwh_intrin.cxx.
Definition at line 1092 of file cwh_intrin.cxx.
Definition at line 1662 of file cwh_intrin.cxx.
Definition at line 1086 of file cwh_intrin.cxx.
Definition at line 1084 of file cwh_intrin.cxx.
Definition at line 1082 of file cwh_intrin.cxx.
Definition at line 1078 of file cwh_intrin.cxx.
Definition at line 1090 of file cwh_intrin.cxx.
Definition at line 1660 of file cwh_intrin.cxx.
Definition at line 97 of file cwh_intrin.cxx.
ST* omp_set_lock_st = NULL [static] |
Definition at line 99 of file cwh_intrin.cxx.
ST* omp_test_lock_st = NULL [static] |
Definition at line 101 of file cwh_intrin.cxx.
ST* omp_unset_lock_st = NULL [static] |
Definition at line 100 of file cwh_intrin.cxx.
Definition at line 93 of file cwh_intrin.cxx.
Definition at line 94 of file cwh_intrin.cxx.
Definition at line 95 of file cwh_intrin.cxx.
char* source_file = __FILE__ [static] |
Definition at line 51 of file cwh_intrin.cxx.
Definition at line 96 of file cwh_intrin.cxx.