[Open64-devel] Attributes for the intrinsic functions and operators
Brought to you by:
ributzka,
suneeljain
From: Chen, K. Y. <kai...@in...> - 2003-05-15 07:25:13
|
Hi, Could anyone help clarify the meaning of the attributes for intrinsic functions/operators, and the impact on optimizations? Below is a simple description based on my understanding, but I am not sure about some fields. /* defined in "intrn_info.h" */ typedef struct intrn_info_t { mBOOL is_by_val; // is the parameter passed by value? mBOOL is_pure; // is it a pure function (as defined in Fortran or GNU C)? mBOOL has_no_side_effects; // does it have side effects? mBOOL never_returns; // is it a call that never returns? mBOOL is_actual; // can it be passed as an actual argument to a procedure (in Fortran)? mBOOL is_cg_intrinsic; // should it be treated as intrinsic in CG (e.g., those synchronization primitives using atomic operation)? INTRN_RETKIND return_kind; // the return type char *c_name; // the name of the intrinsic as seen in C/C++ char *specific_name; // the name for Fortran intrinsic and (??) char *runtime_name; // the name of the function in run-time library or F77 expression/statement not directly callable } intrn_info_t; Thanks, --Kaiyu |