Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
wn2f_stmt.h
Go to the documentation of this file.
00001 /*
00002 
00003   Copyright (C) 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
00004 
00005   This program is free software; you can redistribute it and/or modify it
00006   under the terms of version 2 of the GNU General Public License as
00007   published by the Free Software Foundation.
00008 
00009   This program is distributed in the hope that it would be useful, but
00010   WITHOUT ANY WARRANTY; without even the implied warranty of
00011   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
00012 
00013   Further, this software is distributed without any warranty that it is
00014   free of the rightful claim of any third person regarding infringement 
00015   or the like.  Any license provided herein, whether implied or 
00016   otherwise, applies only to this software file.  Patent licenses, if 
00017   any, provided herein do not apply to combinations of this program with 
00018   other software, or any other product whatsoever.  
00019 
00020   You should have received a copy of the GNU General Public License along
00021   with this program; if not, write the Free Software Foundation, Inc., 59
00022   Temple Place - Suite 330, Boston MA 02111-1307, USA.
00023 
00024   Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pky,
00025   Mountain View, CA 94043, or:
00026 
00027   http://www.sgi.com
00028 
00029   For further information regarding this notice, see:
00030 
00031   http://oss.sgi.com/projects/GenInfo/NoticeExplan
00032 
00033 */
00034 
00035 
00036 #ifndef wn2f_stmt_INCLUDED
00037 #define wn2f_stmt_INCLUDED
00038 /* ====================================================================
00039  * ====================================================================
00040  *
00041  *
00042  * Revision history:
00043  *    13-Apr-95 - Original Version
00044  *
00045  * Description:
00046  *
00047  *    WN2F_Stmt_Initialize:  
00048  *       First thing to do in the handler for a func_entry, which
00049  *       will setup the state for statement translation.
00050  *
00051  *    WN2F_Stmt_Finalize:
00052  *       Last thing we need to do.
00053  *
00054  * ====================================================================
00055  * ====================================================================
00056  */
00057 
00058 extern void WN2F_Stmt_initialize(void);
00059 extern void WN2F_Stmt_finalize(void);
00060 
00061 /* Some statements can be skipped, based on previous analysis of
00062  * call and return sites (e.g. storing to/from return registers).
00063  */
00064 extern BOOL WN2F_Skip_Stmt(WN *stmt);
00065 
00066 extern void WN2F_Append_Purple_Funcinfo(TOKEN_BUFFER tokens);
00067 
00068 extern WN2F_STATUS 
00069    WN2F_block(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00070 
00071 extern WN2F_STATUS 
00072    WN2F_region(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00073 
00074 extern WN2F_STATUS 
00075    WN2F_compgoto(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00076 
00077 extern WN2F_STATUS 
00078    WN2F_do_loop(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00079 
00080 extern WN2F_STATUS 
00081    WN2F_implied_do(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00082 
00083 
00084 extern WN2F_STATUS 
00085    WN2F_do_while(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00086 
00087 extern WN2F_STATUS 
00088    WN2F_while_do(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00089 
00090 extern WN2F_STATUS 
00091    WN2F_if(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00092 
00093 extern WN2F_STATUS 
00094    WN2F_goto(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00095 
00096 extern WN2F_STATUS 
00097    WN2F_agoto(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00098 
00099 extern WN2F_STATUS 
00100    WN2F_condbr(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00101 
00102 extern WN2F_STATUS 
00103    WN2F_return(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00104 
00105 extern WN2F_STATUS 
00106    WN2F_return_val(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00107 
00108 extern WN2F_STATUS 
00109    WN2F_label(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00110 
00111 extern WN2F_STATUS 
00112    WN2F_istore(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00113 
00114 extern WN2F_STATUS
00115    WN2F_pstore(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context); 
00116 
00117 
00118 
00119 extern WN2F_STATUS 
00120    WN2F_intrinsic_call(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00121 
00122 extern WN2F_STATUS 
00123    WN2F_call(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00124 
00125 extern WN2F_STATUS
00126    WN2F_use_stmt(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);  
00127 
00128 extern WN2F_STATUS
00129    WN2F_implicit_bnd(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context); 
00130 
00131 extern WN2F_STATUS
00132    WN2F_namelist_stmt(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);  
00133 
00134 extern WN2F_STATUS
00135    WN2F_interface_blk(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00136 
00137 extern WN2F_STATUS
00138    WN2F_switch(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);  
00139 
00140 extern WN2F_STATUS
00141    WN2F_casegoto(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);  
00142 
00143 extern WN2F_STATUS 
00144    WN2F_prefetch(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00145 
00146 extern WN2F_STATUS 
00147    WN2F_eval(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00148 
00149 extern void
00150    WN2F_Append_Block_Data(TOKEN_BUFFER t);
00151 
00152 extern WN2F_STATUS
00153    WN2F_nullify_stmt(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00154 
00155 extern WN2F_STATUS
00156    WN2F_ar_construct(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00157 
00158 extern WN2F_STATUS
00159    WN2F_noio_implied_do(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00160 
00161 extern WN2F_STATUS
00162    WN2F_idname(TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context);
00163 
00164 #endif /* wn2f_stmt_INCLUDED */
00165 
00166 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines