Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
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 # ifdef __cplusplus 00037 extern "C" { 00038 # endif 00039 00040 /* USMID: "\n@(#)5.0_pl/headers/i_cvrt.h 5.24 10/21/99 15:46:35\n" */ 00041 00042 00043 typedef long long int INT64; 00044 typedef int INT32; 00045 typedef unsigned long INTPTR; 00046 00047 #define PDGCS_MPP_INIT_APPRENTICE 0 00048 #define PDGCS_MPP_INIT_S2P_COERCE 1 00049 #define PDGCS_MPP_INIT_CCG_JUMPS 2 00050 00051 #define FEI_TASK_SAVELAST 0 00052 #define FEI_TASK_AUTOSCOPE 1 00053 00054 #define FEI_MIF_TYPE_TABLE 0 00055 #define FEI_MIF_OBJ_TABLE 1 00056 #define FEI_MIF_TYPE_TABLE_MEM 2 00057 00058 #define STATIC_SUBSCRIPT_SIZE 7 00059 #define IRIX_FILE_NAME_SIZE 129 00060 00061 #define WRITE_STMT 0 00062 #define READ_STMT 1 00063 #define WRITE_NML_STMT 2 00064 #define READ_NML_STMT 3 00065 00066 #define FEI_DV_HDR_BASE_ADDR 1 00067 #define FEI_DV_HDR_EL_LEN 2 00068 #define FEI_DV_HDR_ASSOC 3 00069 #define FEI_DV_HDR_PTR_ALLOC 4 00070 #define FEI_DV_HDR_P_OR_A 5 00071 #define FEI_DV_HDR_A_CONTIG 6 00072 #define FEI_DV_HDR_N_DIM 7 00073 #define FEI_DV_HDR_TYP_CODE 8 00074 #define FEI_DV_HDR_ORIG_BASE 9 00075 #define FEI_DV_HDR_ORIG_SIZE 10 00076 00077 #define MIPS_ASSERT_ARGUMENTALIASING 1 00078 #define MIPS_ASSERT_NOARGUMENTALIASING 2 00079 #define MIPS_ASSERT_BOUNDSVIOLATIONS 3 00080 #define MIPS_ASSERT_NOBOUNDSVIOLATIONS 4 00081 #define MIPS_ASSERT_CONCURRENTCALL 5 00082 #define MIPS_ASSERT_NOCONCURRENTCALL 6 00083 #define MIPS_ASSERT_NORECURRENCE 7 00084 #define MIPS_ASSERT_DOPREFER 8 00085 #define MIPS_ASSERT_EQUIVALENCEHAZARD 9 00086 #define MIPS_ASSERT_NOEQUIVALENCEHAZARD 10 00087 #define MIPS_ASSERT_LASTVALUENEEDED 11 00088 #define MIPS_ASSERT_LASTVALUESNEEDED 12 00089 #define MIPS_ASSERT_NOLASTVALUENEEDED 13 00090 #define MIPS_ASSERT_NOLASTVALUESNEEDED 14 00091 #define MIPS_ASSERT_PERMUTATION 15 00092 #define MIPS_ASSERT_RELATION 16 00093 #define MIPS_ASSERT_NOSYNC 17 00094 #define MIPS_ASSERT_TEMPORARIESFORCONSTANTARGUMENTS 18 00095 #define MIPS_ASSERT_NOTEMPORARIESFORCONSTANTARGUMENTS 19 00096 #define MIPS_ASSERT_DO 20 00097 #define MIPS_ASSERT_BENIGN 21 00098 #define MIPS_ASSERT_DEPENDENCE 22 00099 #define MIPS_ASSERT_FREQUENCY 23 00100 #define MIPS_ASSERT_IGNOREANYDEPENDENCES 24 00101 #define MIPS_ASSERT_IGNOREANYDEPENDENCE 25 00102 #define MIPS_ASSERT_IGNOREASSUMEDDEPENDENCES 26 00103 #define MIPS_ASSERT_IGNOREASSUMEDDEPENDENCE 27 00104 #define MIPS_ASSERT_NOINTERCHANGE 28 00105 #define MIPS_ASSERT_USECOMPRESS 29 00106 #define MIPS_ASSERT_USEEXPAND 30 00107 #define MIPS_ASSERT_USECONTROLLEDSTORE 31 00108 #define MIPS_ASSERT_USEGATHER 32 00109 #define MIPS_ASSERT_USESCATTER 33 00110 00111 #define FEI_PROC_VFUNC 0 00112 #define FEI_PROC_INLINE 1 00113 #define FEI_PROC_TASKHD 2 00114 #define FEI_PROC_UNIQMEM 3 00115 #define FEI_PROC_CNGA 4 00116 #define FEI_PROC_CNAA 5 00117 #define FEI_PROC_CNGO 6 00118 #define FEI_PROC_RNGO 7 00119 #define FEI_PROC_NOIO 8 00120 #define FEI_PROC_ERRNO 9 00121 #define FEI_PROC_NOCALLS 10 00122 #define FEI_PROC_SCHEDULE 11 00123 #define FEI_PROC_DNDA 12 00124 #define FEI_PROC_FAAT 13 00125 #define FEI_PROC_RECURSE 14 00126 #define FEI_PROC_SHORTSEQ 15 00127 #define FEI_PROC_TASKABLE 16 00128 #define FEI_PROC_MICROTASK 17 00129 #define FEI_PROC_BUFIN 18 00130 #define FEI_PROC_BUFOUT 19 00131 #define FEI_PROC_SCALAR 20 00132 #define FEI_PROC_VECTOR 21 00133 #define FEI_PROC_PARALLEL 22 00134 #define FEI_PROC_SERIAL 23 00135 #define FEI_PROC_TASKINNER 24 00136 #define FEI_PROC_NOTHRESHOLDS 25 00137 #define FEI_PROC_DEFINITION 26 00138 #define FEI_PROC_PARENT 27 00139 #define FEI_PROC_IMPORTED 28 00140 00141 /* I need this bit -fzhao #define FEI_PROC_UNUSED_29 29 */ 00142 #define FEI_PROC_MODULE 29 00143 00144 /* #define FEI_PROC_UNUSED_30 30 */ 00145 #define FEI_PROC_IN_INTERFACE 30 00146 00147 /*#define FEI_PROC_UNUSED_31 31*/ 00148 #define FEI_PROC_M_IMPORTED 31 00149 00150 #define FEI_PROC_PASARG 32 00151 #define FEI_PROC_LIMHEAP 33 00152 #define FEI_PROC_ENTRY 34 00153 #define FEI_PROC_HASRSLT 35 00154 #define FEI_PROC_SOFTEXT 36 00155 #define FEI_PROC_IMMORT 37 00156 #define FEI_PROC_DOFLOWTR 38 00157 #define FEI_PROC_INDEFSTK 39 00158 #define FEI_PROC_ALGNINST 40 00159 #define FEI_PROC_VARIADIC 41 00160 #define FEI_PROC_ZEROINC 42 00161 #define FEI_PROC_TOGGLE 43 00162 #define FEI_PROC_SHARELM 44 00163 #define FEI_PROC_LIMITLM 45 00164 #define FEI_PROC_TOLERANT 46 00165 #define FEI_PROC_STRROUND 47 00166 #define FEI_PROC_TRUNCATE 48 00167 #define FEI_PROC_FASTADDR 49 00168 #define FEI_PROC_NCOADDR 50 00169 #define FEI_PROC_SHAPECK 51 00170 #define FEI_PROC_MOD_FIRST 52 00171 #define FEI_PROC_MOD_JUST 53 00172 #define FEI_PROC_MOD_LAST 54 00173 #define FEI_PROC_PERM_NAME 55 00174 #define FEI_PROC_ARG_CHECK 56 00175 #define FEI_PROC_ZERO_INIT 57 00176 #define FEI_PROC_ELEMENTAL 58 00177 #define FEI_PROC_HAS_ALT_ENTRY 59 00178 #define FEI_PROC_GLOBAL_INLINE 60 00179 #define FEI_PROC_OPTIONAL_DIR 61 00180 #define FEI_PROC_NOSIDE_EFFECTS 62 00181 #define FEI_PROC_THISPTR 63 00182 00183 #define FEI_OBJECT_DUPLICATE 0 00184 #define FEI_OBJECT_DEFINED 1 00185 #define FEI_OBJECT_TARGET 2 00186 #define FEI_OBJECT_EQUIV 3 00187 #define FEI_OBJECT_SAVED 4 00188 #define FEI_OBJECT_ALIASED 5 00189 #define FEI_OBJECT_REGISTER 6 00190 #define FEI_OBJECT_ASSUMED_SIZE 7 00191 #define FEI_OBJECT_AUXILIARY 8 00192 #define FEI_OBJECT_INITIALD 9 00193 #define FEI_OBJECT_OFF_ASSIGNED 10 00194 #define FEI_OBJECT_ALLOCATE 11 00195 #define FEI_OBJECT_AUTOMATIC 12 00196 #define FEI_OBJECT_ADDRTAKEN 13 00197 #define FEI_OBJECT_SYMCON_OFFST 14 00198 #define FEI_OBJECT_INNER_REF 15 00199 #define FEI_OBJECT_INNER_DEF 16 00200 #define FEI_OBJECT_WHERE_TEMP 17 00201 #define FEI_OBJECT_CACHE_ALIGN 18 00202 #define FEI_OBJECT_RESULT_TEMP 19 00203 #define FEI_OBJECT_DV_IS_PTR 20 00204 #define FEI_OBJECT_ASSUMD_SHAPE 21 00205 #define FEI_OBJECT_IS_DOPE_VEC 22 00206 #define FEI_OBJECT_DESC_DISTRIB 23 00207 #define FEI_OBJECT_PERMUTATION 24 00208 #define FEI_OBJECT_IS_CP_REF 25 00209 #define FEI_OBJECT_TASK_STORE 26 00210 #define FEI_OBJECT_SYMMETRIC 27 00211 #define FEI_OBJECT_ACTUAL_ARG 28 00212 #define FEI_OBJECT_PTR_ASSIGNED 29 00213 #define FEI_OBJECT_SF_DARG 30 00214 #define FEI_OBJECT_OPTIONAL 31 00215 #define FEI_OBJECT_NAMELIST_ITEM 32 00216 #define FEI_OBJECT_IN_COMMON 33 00217 #define FEI_OBJECT_NOT_PT_TO_UNIQUE_MEM 34 00218 #define FEI_OBJECT_READ_ONLY 35 00219 00220 00221 #define FEI_OBJECT_DEFERRED_SHAPE 36 00222 #define FEI_OBJECT_IN_MODULE 37 00223 #define FEI_OBJECT_EXTERNAL 38 00224 #define FEI_OBJECT_PRIVATE 39 00225 #define FEI_OBJECT_PARAMETER 40 00226 00227 #define FEI_ARRAY_DIMEN_VARY_LB 0 00228 #define FEI_ARRAY_DIMEN_VARY_EXT 1 00229 #define FEI_ARRAY_DIMEN_SCON_LB 2 00230 #define FEI_ARRAY_DIMEN_SCON_EXT 3 00231 #define FEI_ARRAY_DIMEN_HOSTED_TYPE 4 00232 #define FEI_ARRAY_DIMEN_ONTO_EXPR 5 00233 #define FEI_ARRAY_DIMEN_DIST_EXPR 6 00234 #define FEI_ARRAY_DIMEN_DIST_RESHAPE 7 00235 #define FEI_ARRAY_DIMENCOARRAY_FORTRAN_REMOTE 8 00236 #define FEI_ARRAY_DIMEN_VARY_UB 9 00237 #define FEI_ARRAY_DIMEN_SCON_UB 10 00238 #define FEI_ARRAY_DIMEN_FLOW_DEPENDENT 11 00239 00240 #define FEI_ARRAY_DIMEN_EMPTY_LB 12 00241 #define FEI_ARRAY_DIMEN_EMPTY_EXT 13 00242 #define FEI_ARRAY_DIMEN_EMPTY_UB 14 00243 #define FEI_ARRAY_DIMEN_STAR_UB 15 00244 00245 /* for different kinds of array*/ 00246 #define FEI_ASSUMED_SIZE_ARRAY 16 00247 #define FEI_ASSUMD_SHAPE_ARRAY 17 00248 #define FEI_DEFERRED_SHAPE_ARRAY 18 00249 00250 00251 #define FEI_DESCRIPTOR_CONST_C 0 00252 #define FEI_DESCRIPTOR_SIGN_C 1 00253 #define FEI_DESCRIPTOR_VOLAT_C 2 00254 #define FEI_DESCRIPTOR_AUTO_F 3 00255 #define FEI_DESCRIPTOR_RESTR_C 4 00256 #define FEI_DESCRIPTOR_SHRD_PTEE 5 00257 #define FEI_DESCRIPTOR_SHORT_C 7 00258 #define FEI_DESCRIPTOR_LONG_C 8 00259 #define FEI_DESCRIPTOR_BITFLD_C 9 00260 #define FEI_DESCRIPTOR_HOSTED_TYPE 10 00261 00262 #define FEI_LABEL_DEF_NAMED_IVDEP 0 00263 #define FEI_LABEL_DEF_NAMED_NOREDUCE 1 00264 #define FEI_LABEL_DEF_NAMED_NOVECTOR 2 00265 #define FEI_LABEL_DEF_NAMED_SHORTLOOP 3 00266 #define FEI_LABEL_DEF_NAMED_NOVSEARCH 4 00267 #define FEI_LABEL_DEF_NAMED_SUPPRESS 5 00268 #define FEI_LABEL_DEF_NAMED_LOOPCHK 6 00269 #define FEI_LABEL_DEF_NAMED_DO_BL 7 00270 #define FEI_LABEL_DEF_NAMED_NOSYNCBARR 8 00271 #define FEI_LABEL_DEF_NAMED_EXTTABLES 9 00272 #define FEI_LABEL_DEF_NAMED_EXTTIME 10 00273 #define FEI_LABEL_DEF_NAMED_CONCCALLS 11 00274 #define FEI_LABEL_DEF_NAMED_LPSPLITPOS 12 00275 #define FEI_LABEL_DEF_NAMED_SPLIT_CALL 13 00276 #define FEI_LABEL_DEF_NAMED_NOSAVELAST 14 00277 #define FEI_LABEL_DEF_NAMED_PERMUTATION 15 00278 #define FEI_LABEL_DEF_NAMED_MAXCPUS 16 00279 #define FEI_LABEL_DEF_NAMED_TASKSYNC 17 00280 #define FEI_LABEL_DEF_NAMED_EQUIVCHK 18 00281 #define FEI_LABEL_DEF_NAMED_JUMP_INTO 19 00282 #define FEI_LABEL_DEF_NAMED_NEXTSCALAR 20 00283 #define FEI_LABEL_DEF_NAMED_SHORTLOOP128 21 00284 #define FEI_LABEL_DEF_NAMED_SELECT_VEC 22 00285 #define FEI_LABEL_DEF_NAMED_SELECT_TASK 23 00286 #define FEI_LABEL_DEF_NAMED_128VL 24 00287 #define FEI_LABEL_DEF_NAMED_NOTASK 25 00288 #define FEI_LABEL_DEF_NAMED_INTERNAL 26 00289 #define FEI_LABEL_DEF_NAMED_UNROLL 27 00290 #define FEI_LABEL_DEF_NAMED_STREAMSPLIT 28 00291 #define FEI_LABEL_DEF_NAMED_PATTERN 29 00292 #define FEI_LABEL_DEF_NAMED_CASE 30 00293 #define FEI_LABEL_DEF_NAMED_FISSIONABLE 31 00294 #define FEI_LABEL_DEF_NAMED_FUSABLE 32 00295 #define FEI_LABEL_DEF_NAMED_NOFISSION 33 00296 #define FEI_LABEL_DEF_NAMED_NOFUSION 34 00297 #define FEI_LABEL_DEF_NAMED_NOINTERCHANGE 35 00298 #define FEI_LABEL_DEF_NAMED_NOBLOCKING 36 00299 #define FEI_LABEL_DEF_NAMED_AGGRESSIVEINNERLOOPFISSION 37 00300 #define FEI_LABEL_DEF_NAMED_CONCURRENT 38 00301 #define FEI_LABEL_DEF_NAMED_NOT_REFERENCED 39 00302 #define FEI_LABEL_DEF_NAMED_CONSTRUCTOR_LOOP 40 00303 #define FEI_LABEL_DEF_NAMED_FUSION 41 00304 #define FEI_LABEL_DEF_NAMED_STREAM 42 00305 #define FEI_LABEL_DEF_NAMED_PREFERSTREAM 43 00306 #define FEI_LABEL_DEF_NAMED_INFORM_ONLY 44 00307 #define FEI_LABEL_DEF_NAMED_PSTREAM_NOCINV 45 00308 00309 #define PDGCS_NEW_PROC_IGNORE_THROTTLE 0 00310 #define PDGCS_NEW_PROC_ELIM_DEAD_CODE 1 00311 #define PDGCS_NEW_PROC_PATTERN_MATCHING 2 00312 #define PDGCS_NEW_PROC_TASK_INNER_LOOPS 3 00313 #define PDGCS_NEW_PROC_IEEE_RECIPS 4 00314 #define PDGCS_NEW_PROC_CONFORM_CHECK 5 00315 #define PDGCS_NEW_PROC_IEEE_CONFORM 6 00316 #define PDGCS_NEW_PROC_DO_UBD_ANALYSIS 7 00317 00318 #define FEI_SEG_MODULE 0 00319 #define FEI_SEG_SAVED 1 00320 #define FEI_SEG_SCON_LEN 2 00321 #define FEI_SEG_SHARED 3 00322 #define FEI_SEG_INLINED 4 00323 #define FEI_SEG_LOCAL_COMMON 5 00324 #define FEI_SEG_EQUIVALENCED 6 00325 #define FEI_SEG_EXTERNAL 7 00326 /* 7 is available */ 00327 #define FEI_SEG_THREADPRIVATE 8 00328 #define FEI_SEG_DUPLICATE 9 00329 #define FEI_SEG_VOLATILE 10 00330 00331 #define FEI_DOPE_VECTOR_HOSTED_TYPE 0 00332 #define FEI_DOPE_VECTOR_POINTER 1 00333 00334 #define FEI_NEXT_TYPE_IDX_HOSTED_TYPE 0 00335 00336 #define PDGCS_INITIALIZE_INITS_DONE 0 00337 #define PDGCS_INITIALIZE_FLOWTRACE 1 00338 #define PDGCS_INITIALIZE_PART_DEBUG 2 00339 #define PDGCS_INITIALIZE_LOCSTATICS 3 00340 #define PDGCS_INITIALIZE_ATEXPERT 4 00341 #define PDGCS_INITIALIZE_NOFASTMD 5 00342 #define PDGCS_INITIALIZE_KERNEL 6 00343 #define PDGCS_INITIALIZE_DBG_TABLES 7 00344 #define PDGCS_INITIALIZE_OBJ_FILE 8 00345 #define PDGCS_INITIALIZE_TRUNCATE 9 00346 #define PDGCS_INITIALIZE_NO_OPT_MSGS 10 00347 #define PDGCS_INITIALIZE_MAX_VL64 11 00348 #define PDGCS_INITIALIZE_CALL_ARG_CK 12 00349 #define PDGCS_INITIALIZE_ENTRY_ARG_CK 13 00350 #define PDGCS_INITIALIZE_EMA_ADDRESS 14 00351 #define PDGCS_INITIALIZE_DOUBLE_ALIGN 15 00352 #define PDGCS_INITIALIZE_ENABLE_FEAT 16 00353 #define PDGCS_INITIALIZE_MEM_HIER_OPT 17 00354 #define PDGCS_INITIALIZE_SMALL_PIC 18 00355 #define PDGCS_INITIALIZE_BIG_PIC 19 00356 #define PDGCS_INITIALIZE_NO_NEG_MSGS 20 00357 #define PDGCS_INITIALIZE_STREAMSPLIT 21 00358 #define PDGCS_INITIALIZE_PIPELINE 22 00359 #define PDGCS_INITIALIZE_MP 23 00360 #define PDGCS_INITIALIZE_APPRENTICE 24 00361 #define PDGCS_INITIALIZE_S2P_COERCE 25 00362 #define PDGCS_INITIALIZE_CCG_JUMPS 26 00363 #define PDGCS_INITIALIZE_OPT_DEBUG 27 00364 #define PDGCS_INITIALIZE_OPT_INFO 28 00365 #define PDGCS_INITIALIZE_INTEGER_1_2 29 00366 00367 #define FEI_LABEL_ALGNINST 0 00368 #define FEI_LABEL_REFINNER 1 00369 #define FEI_LABEL_ALGNLOOP 2 00370 #define FEI_LABEL_ASSIGN 3 00371 00372 #define FEI_STMT_ARY_BASE 0 00373 #define FEI_STMT_ARY_SIZE 1 00374 #define FEI_STMT_NO_BARRIER 2 00375 #define FEI_STMT_ATOM_UPD 3 00376 #define FEI_STMT_INTERNAL 4 00377 00378 #define FEI_CALL_DOES_NOT_RETURN 0 00379 00380 00381 typedef enum { 00382 Dbgclass_None, 00383 Dbgclass_Statement, 00384 Dbgclass_Exitprogram, 00385 Dbgclass_Endprologue, 00386 Dbgclass_Startepilogue, 00387 Dbgclass_F90construct, 00388 Dbgclass_F90loop, 00389 Dbgclass_User 00390 } DBGCLASS; 00391 00392 typedef enum { 00393 Dbgtyp_Const_F, 00394 Dbgtyp_Volatile_F 00395 } DTYPE_FLAGS_DBG; 00396 00397 typedef enum { 00398 Dbgtyp_Void = 1, 00399 Dbgtyp_Typeless, 00400 Dbgtyp_Bool, 00401 Dbgtyp_Int, 00402 Dbgtyp_Float, 00403 Dbgtyp_Complex, 00404 Dbgtyp_Fchar, 00405 Dbgtyp_Qual, 00406 Dbgtyp_Enum, 00407 Dbgtyp_Array, 00408 Dbgtyp_Struct, 00409 Dbgtyp_Addr, 00410 Dbgtyp_Dope, 00411 Dbgtyp_Vector, 00412 Dbgtyp_Func, 00413 Dbgtyp_Code 00414 } DTYPE_CLASS_DBG; 00415 00416 typedef enum { 00417 Dbgobj_Struct_F 00418 } DOBJ_FLAGS_DBG; 00419 00420 typedef enum { 00421 Dbgobj_Class_C = 1 00422 } DOBJ_CLASS_DBG; 00423 00424 typedef enum { 00425 Dbgvis_Public = 1, 00426 Dbgvis_Private, 00427 Dbgvis_Protect, 00428 Dbgvis_Virtual 00429 } DVISIBILITY_DBG; 00430 00431 typedef enum { 00432 Dbgobjm_Friend_F, 00433 Dbgobjm_Virtual_F, 00434 Dbgobjm_Pure_F, 00435 Dbgobjm_Class_F, 00436 Dbgobjm_Func_F 00437 } DOBJMEM_FLAGS_DBG; 00438 00439 typedef enum C_kinds { 00440 CK_NONE=0, 00441 CK_CHAR=1, 00442 CK_SMALL=17, 00443 CK_MED=18, 00444 CK_LARGE=19, 00445 CK_XLARGE=20 00446 } CKINDS; 00447 00448 typedef enum { 00449 PDGCS_Intent_Unseen, 00450 PDGCS_Intent_In, 00451 PDGCS_Intent_Out, 00452 PDGCS_Intent_Inout 00453 } ARG_INTENT; 00454 00455 typedef enum { 00456 PDGCS_Unknown_Shape, 00457 PDGCS_Explicit_Shape, 00458 PDGCS_Assumed_Size, 00459 PDGCS_Assumed_Shape, 00460 PDGCS_Deferred_Shape 00461 } ARRAY_CLASS; 00462 00463 typedef enum { 00464 PDGCS_WorkDist_NONE = 0, 00465 PDGCS_WorkDist_Single = 1, 00466 PDGCS_WorkDist_Vector = 2, 00467 PDGCS_WorkDist_Guided = 3, 00468 PDGCS_WorkDist_Num_Chunks = 4, 00469 PDGCS_WorkDist_Chunk_Size = 5, 00470 PDGCS_WorkDist_NCPUS_Chunks = 7, 00471 00472 PDGCS_WorkDist_MPP_Uniform = 11, 00473 PDGCS_WorkDist_MPP_Chunk_Size = 12, 00474 PDGCS_WorkDist_MPP_Num_Chunks = 13, 00475 PDGCS_WorkDist_MPP_Guided = 14, 00476 PDGCS_WorkDist_MPP_Align = 15, 00477 PDGCS_WorkDist_MPP_Asyn = 16, 00478 PDGCS_WorkDist_MPP_Reduc_Sum = 17, 00479 PDGCS_WorkDist_MPP_Reduc_Prod = 18, 00480 PDGCS_WorkDist_MPP_Reduc_Max = 19, 00481 PDGCS_WorkDist_MPP_Reduc_Min = 20, 00482 00483 PDGCS_WorkDist_OMP_None = 22, 00484 PDGCS_WorkDist_OMP_Runtime = 23, 00485 PDGCS_WorkDist_OMP_Static = 24, 00486 PDGCS_WorkDist_OMP_Dynamic = 25, 00487 PDGCS_WorkDist_OMP_Guided = 26 00488 } WORK_DIST_TYPE; 00489 00490 typedef enum { 00491 Definition, 00492 Parent, 00493 Imported, 00494 In_Interface} PROC_CALLING_CLASS; 00495 00496 typedef enum { 00497 No_Dist, 00498 Block_Dist, 00499 Cyclic_Dist, 00500 Star_Dist } DISTRIBUTION; 00501 00502 typedef enum { 00503 Sym_Null, 00504 Sym_Object, 00505 Sym_Function, 00506 Sym_Unknown, 00507 Sym_Member, 00508 Sym_Namelist } SYM_GROUP; 00509 00510 typedef enum { 00511 Unknown_Return, 00512 Normal_Return, 00513 Void_Return, 00514 Alternate_Return } RETURN_CLASS; 00515 00516 typedef enum { 00517 Unknown_Sym, 00518 User_Variable, 00519 Dummy_Arg, 00520 Function_Rslt, 00521 Compiler_Temp, 00522 CRI_Pointee, 00523 Component, 00524 Vector_Temp, 00525 Vector_Maskk, 00526 Vector_Iota, 00527 MPP_object, 00528 Call_Dummy, 00529 Dummy_Procedure, 00530 Hosted_User_Variable, 00531 Hosted_Dummy_Arg, 00532 Scratch_Symbol, 00533 Hosted_Dummy_Procedure, 00534 Hosted_Compiler_Temp, 00535 Name } OBJECT_SYM; 00536 00537 typedef enum { 00538 Context_None, 00539 Context_Private, 00540 Context_Shared, 00541 Context_Value, 00542 Context_Iterate, 00543 Context_Getfirst, 00544 Context_Control, 00545 Context_Induction, 00546 Context_PE_Res_Func, 00547 Context_PE_Res_Loop, 00548 Context_Lastlocal, 00549 Context_Affinity, 00550 Context_Nest, 00551 Context_Lastthread, 00552 Context_Omp_Reduction_Max, 00553 Context_Omp_Reduction_Min, 00554 Context_Omp_Reduction_Band, 00555 Context_Omp_Reduction_Bor, 00556 Context_Omp_Reduction_Bneqv, 00557 Context_Omp_Reduction_Plus, 00558 Context_Omp_Reduction_Mult, 00559 Context_Omp_Reduction_Minus, 00560 Context_Omp_Reduction_And, 00561 Context_Omp_Reduction_Or, 00562 Context_Omp_Reduction_Eqv, 00563 Context_Omp_Reduction_Neqv, 00564 Context_Omp_Private, 00565 Context_Omp_Shared, 00566 Context_Omp_Firstprivate, 00567 Context_Omp_Lastprivate, 00568 Context_Omp_Copyprivate, 00569 Context_Omp_Copyin, 00570 Context_Omp_Affinity, 00571 Context_Omp_Nest, 00572 /* there is no FLUSH clause in OpenMP ([email protected]) */ 00573 /* we fake this clause in order to treat FLUSH directive the same as the others */ 00574 Context_Omp_Flush, 00575 00576 /* eraxxon: OpenAD directive */ 00577 Context_OpenAD_XXX, 00578 Context_OpenAD_Dependent, 00579 Context_OpenAD_Independent, 00580 Context_OpenAD_Simple } CONTEXT_TYPE; 00581 00582 typedef enum { 00583 Unknown_Table, 00584 Basic, 00585 Pointer, 00586 Array, 00587 Func_tion } TABLE_TYPE; 00588 00589 typedef enum { 00590 Unknown_Type, 00591 L_ogical, 00592 T_ypeless, 00593 V_oid, 00594 Char_Fortran, 00595 Char_C, 00596 S_tructure, 00597 U_nion, 00598 Integral, 00599 Floating_Pt, 00600 C_omplex, 00601 CRI_Pointer, 00602 CRI_Pointer_Char, 00603 BT_func_ptr, 00604 Vector_Mask } BASIC_TYPE; 00605 00606 typedef enum { 00607 Seq_Unknown, 00608 Seq_None, 00609 Seq_Numeric, 00610 Seq_Char, 00611 Seq_Mixed } FORT_SEQUENCE; 00612 00613 typedef enum { 00614 PDGCS_Proc_Unknown, 00615 PDGCS_Proc_Extern, 00616 PDGCS_Proc_Intern_Ref, 00617 PDGCS_Proc_Unused, 00618 PDGCS_Proc_Intern, 00619 PDGCS_Proc_Imported, 00620 PDGCS_Proc_Module, 00621 PDGCS_Proc_SrcIntrin, 00622 PDGCS_Proc_Host_Ref } PROC_CLASS; 00623 00624 typedef enum { 00625 Unknown_Func, 00626 C_Function, 00627 C_Function_Proto, 00628 Fort_Function, 00629 Fort_Subroutine, 00630 Main_Pgm, 00631 Fort_Blockdata, 00632 F90_Module } FUNCTION_SYM; 00633 00634 typedef enum { 00635 PDGCS_Lbl_Unknown, 00636 PDGCS_Lbl_User, 00637 PDGCS_Lbl_Format, 00638 PDGCS_Lbl_Internal, 00639 PDGCS_Lbl_Debug, 00640 PDGCS_Lbl_Cstrct, 00641 PDGCS_Lbl_LoopInternal } LABEL_SYM; 00642 00643 typedef enum { 00644 Seg_Unknown, 00645 Seg_Static, 00646 Seg_Stack, 00647 Seg_Formal, 00648 Seg_Common, 00649 Seg_Extern, 00650 Seg_Exported, 00651 Seg_Task_Common, 00652 Seg_Soft_External, 00653 Seg_Global_Breg, 00654 Seg_Global_Treg, 00655 Seg_Static_Name, 00656 Seg_Based, 00657 Seg_Equivalenced, 00658 Seg_Restricted, 00659 Seg_Distributed, 00660 Seg_LM_Static, 00661 Seg_LM_Common, 00662 Seg_LM_Extern, 00663 Seg_Auxiliary, 00664 Seg_Static_Local, 00665 Seg_Non_Local_Stack, 00666 Seg_Non_Local_Formal, 00667 Seg_Hosted_Stack, 00668 Seg_Shared_Stack, 00669 Seg_Threadprivate, 00670 Seg_Module , 00671 Seg_Coment 00672 } SEGMENT_TYPE; 00673 00674 typedef enum { 00675 Error_Align = 0, 00676 Bit_Align = 1, 00677 Byte_Align = 8, 00678 Parcel_Align = 16, 00679 HWord_Align = 32, 00680 Word_Align = 64, 00681 DWord_Align = 65, 00682 FWord_Align = 128 } ALIGN_TYPE; 00683 00684 typedef enum { 00685 No_Arg_Call, 00686 By_Value_Call, 00687 By_Addr_Call, 00688 By_Reg_Call, 00689 MPP_PAL_Call } CALL_TYPE; 00690 00691 typedef enum { 00692 No_Const, 00693 Arith_Const, 00694 Addr_Const, 00695 Pattern_Const, 00696 Array_Const, 00697 Struct_Const, 00698 Null_Arg_Const, 00699 Vector_Mask_Const } CONSTANT_CLASS; 00700 00701 typedef enum { 00702 Unknown_Lang, 00703 Ansi_C, 00704 Fortran_77, 00705 Fortran_90, 00706 Fortran_77_MPP, 00707 Fortran_90_MPP, 00708 Ansi_C_MPP, 00709 Other_Lang, 00710 C_pls_pls, 00711 C_pls_pls_MPP } LANG; 00712 00713 00714 /********************\ 00715 |* TYPE DESCRIPTOR *| 00716 \********************/ 00717 00718 typedef struct type_descriptor { 00719 00720 # if (defined(_TARGET_OS_IRIX) || defined(_TARGET_OS_LINUX)) || defined(_TARGET_MONGOOSE) 00721 unsigned const_flag : 1; 00722 unsigned volatile_flag : 1; 00723 unsigned signed_flag : 1; 00724 unsigned automatic : 1; 00725 unsigned restricted : 1; 00726 unsigned short_flag : 1; 00727 unsigned long_flag : 1; 00728 unsigned bitfield : 1; 00729 TABLE_TYPE table_type : 4; 00730 BASIC_TYPE basic_type : 5; 00731 unsigned aux_info : 15; 00732 unsigned shrd_pointee : 1; 00733 unsigned table_index : 31; 00734 # else 00735 unsigned const_flag : 1; 00736 unsigned volatile_flag : 1; 00737 unsigned signed_flag : 1; 00738 unsigned restricted : 1; 00739 unsigned short_flag : 1; 00740 unsigned long_flag : 1; 00741 unsigned bitfield : 1; 00742 TABLE_TYPE table_type : 3; 00743 BASIC_TYPE basic_type : 4; 00744 int aux_info : 18; 00745 signed table_index : 32; 00746 # endif 00747 00748 } TYPE; 00749 00750 00751 /* 00752 WARNING WARNING WARNING 00753 If the size of TYPE is changed, a joint integration will be required. 00754 Resizing, spliting or reordering bitfields may introduce unexpected 00755 padding thereby changing overall structure size. 00756 Be sure to verify that padding is not added when altering or adding 00757 a component of TYPE. 00758 */ 00759 00760 00761 00762 extern FILE *init_debug_file ( void ); 00763 extern char *global_to_local_file ( INT32 ); 00764 extern INT32 global_to_local_line_number ( INT32 ); 00765 extern void PDGCS_initialize ( LANG language, 00766 INT32 init_flags, 00767 char *cmp_name, 00768 char *cmp_rel, 00769 char *obj_file_name, 00770 char *list_file_name, 00771 INT32 trunc_bits, 00772 INT32 debug_opts, 00773 char *src_path_name, 00774 char *cif_file_name, 00775 char *debug_file_name, 00776 FILE *debug_file, 00777 FILE *cif_file, 00778 char *src_fname, 00779 char *cwd, 00780 INT32 n_pes, 00781 INT32 meta_test ); 00782 extern void PDGCS_comp_unit ( char *comp_unit_name, 00783 INT32 module_node ); 00784 extern void PDGCS_new_proc ( INT32 ir_count, 00785 INTPTR func_st_idx, 00786 INT32 alt_entry_count, 00787 INT32 scalar_opt_level, 00788 INT32 vector_opt_level, 00789 INT32 task_opt_level, 00790 INT32 opt_flags, 00791 INT32 user_mobes, 00792 INT32 user_sades, 00793 INT32 pipeline_opt_level, 00794 INT32 stream_opt_level, 00795 INT32 ismodule); 00796 extern void PDGCS_do_proc ( void ); 00797 extern void PDGCS_end_procs ( INT32 *code_size, 00798 INT32 *data_size ); 00799 extern void PDGCS_end_comp_unit ( void ); 00800 extern void PDGCS_terminate ( void ); 00801 extern void PDGCS_debug_init ( char *org_file_name, 00802 char *comp_gen_date ); 00803 extern void PDGCS_version_info ( char *cmp_rel, char *cmp_ed ); 00804 extern void fei_module_file ( char *file_name ); 00805 extern void PDGCS_debug_gen_table ( void ); 00806 extern void fei_smt_actual_to_generic ( INT32 act_st_idx, 00807 char *generic_name ); 00808 extern void fei_smt_original_to_qualified( INT32 qualified_st_idx, 00809 char *original_name ); 00810 extern void fei_null_expr ( void ); 00811 extern void fei_implicit_expr ( void ); /* March */ 00812 extern void fei_member_ref ( INT32 mem_idx ); 00813 extern void fei_object_ref ( INTPTR sym_idx, 00814 INT32 whole_subscript, 00815 INT32 whole_substring ); 00816 extern void fei_function_ref ( INTPTR fnc_idx ); 00817 extern INTPTR fei_constant ( TYPE type, 00818 INT32 Class, 00819 char *start, 00820 INT64 bitsize ); 00821 extern INTPTR fei_arith_con ( TYPE type, 00822 long *start ); 00823 extern void fei_push_arith_con ( INTPTR cdx ); 00824 extern void fei_push_pattern_con ( INTPTR ndx ); 00825 extern void fei_add_use_path ( INT32 st_idx, 00826 INT32 path_idx, 00827 INT32 module_idx ); 00828 extern INTPTR fei_pattern_con ( TYPE type, 00829 char *start, 00830 INT64 bitsize ); 00831 extern INTPTR fei_smt_parameter ( char *name_string, 00832 TYPE type, 00833 INTPTR con_idx, 00834 INT32 Class, 00835 INT32 line_num ); 00836 extern void fei_entry_pt ( INTPTR st_idx ); 00837 extern void fei_stmt ( INT32 lineno, INT32 flags ); 00838 extern void fei_min ( INT32 n_opnds, TYPE type ); 00839 extern void fei_max ( INT32 n_opnds, TYPE type ); 00840 extern void fei_list ( INT32 n_opnds ); 00841 extern void fei_concat ( INT32 n_opnds ); 00842 extern void fei_index ( void ); 00843 extern void fei_field_dot ( TYPE type ); 00844 extern void fei_field_arrow ( TYPE type ); 00845 extern void fei_deref ( TYPE type ); 00846 extern void fei_paren ( TYPE type ,INT32 processing_call); 00847 extern void fei_cvtop ( TYPE type ); 00848 extern void fei_substr ( INT32 bound_chk ); 00849 extern void fei_seq_subscr ( TYPE type,INT32 kidsnum ); 00850 extern void fei_nseq_subscr ( TYPE type ); 00851 extern void fei_subscr_size ( TYPE type, INT32 bounds_check ); 00852 extern void fei_subscr_triplet ( TYPE type ); 00853 extern void fei_subscr_src_triplet ( TYPE type ); 00854 extern void fei_dv_deref ( TYPE type ); 00855 extern void fei_store ( TYPE type ); 00856 extern void fei_pstore ( TYPE type ); 00857 extern void fei_non_conform_store ( TYPE type ); 00858 extern void fei_as_ref ( TYPE type ); 00859 extern void fei_return ( INT32 return_class, TYPE type ); 00860 extern void fei_stop ( void ); 00861 extern void fei_case ( INT32 case_follows ); 00862 extern void fei_switch ( INT32 num_cases, 00863 INT32 default_lbl_idx ); 00864 extern void fei_static_begin ( void ); 00865 extern void fei_static_init ( INT32 st_idx, 00866 INT64 offset, 00867 INT64 size, 00868 INT64 dups, 00869 INT64 stride, 00870 INT32 string_literal ); 00871 extern void fei_static_reloc_init ( INT32 st_idx, 00872 INT64 offset, 00873 INT64 size, 00874 INT64 dups, 00875 INT64 stride, 00876 INT64 relocbitoffset ); 00877 extern void fei_static_base ( INTPTR st_idx ); 00878 extern void fei_static_subscripts ( INT64 subscripts[] ); 00879 extern void fei_static_member ( INT32 st_idx ); 00880 extern void fei_static_substr ( INT32 start ); 00881 extern void fei_static_simple_init ( INT64 dup_count, 00882 INT64 stride, 00883 INT32 ignore_types, 00884 INT32 string_literal ); 00885 extern void fei_static_next_simple_init ( INT64 bit_increment, 00886 INT64 dup_count, 00887 INT64 init_offset, 00888 INT32 string_literal ); 00889 extern void fei_static_simple_reloc_init ( INT64 bit_offset, 00890 INT64 dup_count, 00891 INT64 stride, 00892 INT64 bit_size, 00893 INT32 ignore_types ); 00894 extern void fei_static_next_reloc_init ( INT64 bit_offset, 00895 INT64 bit_stride, 00896 INT64 dup_count, 00897 INT64 init_offset, 00898 INT64 bit_size ); 00899 extern void fei_static_end ( void ); 00900 extern void fei_initializer ( INT64 dup_count, 00901 INT64 stride, 00902 INT64 stride_precomputed ); 00903 extern void fei_init_reloc ( INT64 bit_offset, 00904 INT64 dup_count, 00905 INT64 stride ); 00906 extern void fei_label_ref ( INT32 lbl_idx ); 00907 extern void fei_label_def_named ( INT32 lbl_idx, 00908 INT64 label_flag_word, 00909 INT32 lineno, 00910 INT32 sup_cnt, 00911 INT32 keepme, 00912 INT32 storage_seg, 00913 INT32 safevl, 00914 INT32 unroll_cnt, 00915 char *mark_name, 00916 INT32 noncache_cnt, 00917 INT32 safedist, 00918 INT32 blockable_grp, 00919 INT32 interchange_grp, 00920 INT32 interchange_lvl); 00921 extern void fei_call ( INT32 num_args, 00922 TYPE type, 00923 INT32 call_type, 00924 INT32 alt_return_flag, 00925 INT32 inline_setting, 00926 INT64 flags ); 00927 extern void fei_use ( INT32 rename_only_num, INT32 onlyPredicate); 00928 extern void fei_arg_associate (INT32 association); 00929 extern void fei_brtrue ( INT32 lbl_idx ); 00930 extern void fei_if ( void ); 00931 extern void fei_else ( void ); 00932 extern void fei_endif ( void ); 00933 extern void fei_goto ( INT32 lbl_idx ); 00934 extern void fei_label_addr ( INT32 idx ); 00935 extern void fei_indirect_goto ( INT32 num_labs, 00936 INT32 assign_goto_flag ); 00937 extern void fei_arith_goto ( INT32 zero_lab, 00938 INT32 pos_lab, 00939 INT32 neg_lab ); 00940 extern void fei_proc_body ( INT32 lineno ); 00941 extern INT32 fei_get_segment ( INT32 pdgcs_st_idx, 00942 INT32 *is_data_segment ); 00943 extern INT32 fei_get_dist_info ( INT32 seg_idx, 00944 INT32 dimension, 00945 INT32 *pe_type, 00946 INT32 *pe_val, 00947 INT32 *blk_type, 00948 INT32 *blk_val, 00949 INT32 *cycle_type, 00950 INT32 *cycle_val ); 00951 extern INT32 fei_get_redist ( INT32 arg_syx ); 00952 extern void fei_user_type ( char *name_string, 00953 INT32 nbr_components, 00954 INT64 size, 00955 INT32 sequence, 00956 INT32 st_idx, 00957 INT32 alignment, 00958 INTPTR modst_idx, 00959 INT32 definition_in_module ); 00960 extern INT32 fei_imported_type ( char *name_string, 00961 INTPTR modst_idx); 00962 extern TYPE fei_get_pdg_type ( INT32 ty_idx, 00963 INT32 table_type, 00964 INT32 basic_type, 00965 INT32 nbr_components); 00966 extern void fei_gen_st_for_type ( char *name_string , 00967 TYPE type_idx , 00968 INTPTR modst_idx ); 00969 extern TYPE fei_descriptor ( INT32 flag_matrix, 00970 INT32 table_type, 00971 INTPTR table_index, 00972 INT32 basic_type, 00973 INT32 aux_info, 00974 INT32 alignment); 00975 extern INTPTR fei_name ( char *name_string, 00976 INT32 st_grp, 00977 INTPTR st_idx, 00978 INT32 prev, 00979 INT32 idx ); 00980 extern INT32 fei_next_name ( INT32 increment ); 00981 extern INT32 fei_next_type_idx ( INT32 flag, 00982 INT32 alignment ); 00983 extern INTPTR fei_next_func_idx ( INT32 pgm_unit, 00984 INT32 proc, 00985 INT32 alt_entry ); 00986 extern INT32 fei_next_symbol ( INT32 increment ); 00987 extern void fei_doacross ( INT32 task_if_idx, 00988 INT32 sched_type, 00989 INT32 thread_count, 00990 INT32 data_count, 00991 INT32 onto_count, 00992 INT32 reduction_count, 00993 INT32 chunk_count ); 00994 extern void fei_pdo ( INT32 sched_type, 00995 INT32 ordered, 00996 INT32 thread_count, 00997 INT32 data_count, 00998 INT32 onto_count, 00999 INT32 reduction_count, 01000 INT32 chunk_count ); 01001 extern void fei_paralleldo ( INT32 task_if_idx, 01002 INT32 sched_type, 01003 INT32 thread_count, 01004 INT32 data_count, 01005 INT32 onto_count, 01006 INT32 reduction_count, 01007 INT32 chunk_count ); 01008 extern void fei_parallel ( INT32 task_if_idx ); 01009 extern void fei_singleprocess ( void ); 01010 extern void fei_criticalsection ( INT32 var_count ); 01011 extern void fei_endsingleprocess ( INT32 nowait ); 01012 extern void fei_endpsection ( INT32 nowait ); 01013 extern void fei_endpdo ( INT32 nowait ); 01014 extern void fei_endcriticalsection ( void ); 01015 extern void fei_endparallel ( void ); 01016 extern void fei_section ( void ); 01017 extern void fei_barrier ( void ); 01018 extern void fei_psection ( void ); 01019 extern void fei_regionend ( void ); 01020 extern void fei_regionbegin ( void ); 01021 extern void fei_interchange ( INT32 expressions ); 01022 extern void fei_blockable ( INT32 expressions ); 01023 extern void fei_fuse ( INT32 level ); 01024 extern void fei_flush ( INT32 list_count ); 01025 extern void fei_assert ( INT32 assertion, INT32 list_count ); 01026 extern void fei_fission ( void ); 01027 extern void fei_unroll ( void ); 01028 extern void fei_section_gp ( INT32 list_count ); 01029 extern void fei_section_nongp ( INT32 list_count ); 01030 extern void fei_blocking_size ( void ); 01031 extern void fei_purple_conditional ( void ); 01032 extern void fei_opaque ( void ); 01033 extern void fei_purple_unconditional ( void ); 01034 extern void fei_copy_in ( INT32 list_count ); 01035 extern void fei_concurrentize ( INT32 state ); 01036 extern void fei_seg_ref ( INT32 sb_idx ); 01037 extern void fei_page_place ( void ); 01038 extern void fei_dynamic ( INT32 list_count ); 01039 extern void fei_fill_symbol ( INT32 list_count, INT32 C_value ); 01040 extern void fei_align_symbol ( INT32 list_count, INT32 C_value ); 01041 extern void fei_prefetch_ref_disable ( INT32 array, INT32 size ); 01042 extern void fei_prefetch_ref ( INT32 stride, 01043 INT32 level, 01044 INT32 kind, 01045 INT32 size ); 01046 extern void fei_redistribute ( INT32 array, 01047 INT32 dim, 01048 INT32 distribution, 01049 INT32 cyclic_exists, 01050 INT32 onto_exists ); 01051 extern void fei_prefetch ( INT32 n1, INT32 n2 ); 01052 extern void fei_prefetch_manual ( INT32 n ); 01053 extern INTPTR fei_proc ( char *name_string, 01054 INT32 lineno, 01055 INT32 sym_class, 01056 INT32 Class, 01057 INT32 num_dum_args, 01058 INT32 parent_stx, 01059 INT32 first_st_idx, 01060 INT32 aux_idx, 01061 TYPE type, 01062 INT32 st_idx, 01063 INT64 flags, 01064 INT32 in_interface, 01065 INT32 coarray_concurrent); 01066 extern INTPTR fei_seg ( char *name_string, 01067 INT32 seg_type, 01068 INT32 owner, 01069 INT32 parent, 01070 INT32 aux_index, 01071 INT32 flag_bits, 01072 INT32 nest_level, 01073 INT64 block_length ); 01074 extern INT32 fei_label ( char *name_string, 01075 INT32 flag_bits, 01076 INT32 Class, 01077 char *format_string, 01078 INT32 debug_label_type ); 01079 extern INT32 fei_member ( char *name_string, 01080 TYPE type, 01081 INT64 offset, 01082 INT64 size, 01083 INT32 alignment, 01084 INT32 line_num, 01085 INT64 flag_bits, 01086 INT64 io_code ); 01087 extern INTPTR fei_object ( char *name_string, 01088 TYPE type, 01089 INT64 flag_bits, 01090 INT32 sym_class, 01091 INTPTR storage_idx, 01092 INT32 derive_st_idx, 01093 INTPTR ptr_st_idx, 01094 INT64 offset, 01095 INT32 arg_intent, 01096 INT64 size, 01097 INT32 type_aux, 01098 INT32 alignment, 01099 INT32 distr_idx, 01100 INT32 node_1, 01101 INT32 node_2, 01102 INT32 line_num, 01103 INTPTR modst_idx ); 01104 01105 extern void fei_rename_list(char *name_string); 01106 01107 extern INTPTR fei_array_dimen ( INT32 flag_bits, 01108 INT64 low_bound, 01109 INT64 extent, 01110 INT32 rank, 01111 TYPE span_type, 01112 INT64 bitsize, 01113 INT32 distribution, 01114 INT64 upper_bound ); 01115 extern INTPTR fei_co_array_dimen ( INT32 flag_bits, 01116 INT64 low_bound, 01117 INT64 extent, 01118 INT32 arraydims, 01119 INT32 rank, 01120 TYPE span_type, 01121 INT64 bitsize, 01122 INT32 distribution, 01123 INT64 upper_bound ); 01124 01125 extern INT32 fei_pointee ( TYPE pointee_type ); 01126 extern INT32 fei_parallel_region ( INT32 ifexpr, 01127 INT32 maxcpus, 01128 INT32 context_start, 01129 INT32 context_end, 01130 INT32 lineno, 01131 INT32 flags ); 01132 extern void fei_endparallel_region ( INT32 task_x, INT32 lineno ); 01133 extern void fei_doall ( INT32 ifexpr, 01134 INT32 maxcpus, 01135 INT32 context_start, 01136 INT32 context_end, 01137 INT32 induc_symx, 01138 INT32 work_dist, 01139 INT32 work_dist_opnd, 01140 INT32 flags, 01141 INT32 lineno ); 01142 extern INT32 fei_doparallel ( INT32 induc_symx, 01143 INT32 work_dist, 01144 INT32 work_dist_opnd, 01145 INT32 lineno ); 01146 extern void fei_task_endloop ( INT32 taskloop_x, 01147 INT32 lineno, 01148 INT32 nowait ); 01149 extern INT32 fei_doall_wave ( INT32 ifexpr, 01150 INT32 maxcpus, 01151 INT32 context_start, 01152 INT32 context_end, 01153 INT32 iter_start, 01154 INT32 iter_end, 01155 INT32 lineno ); 01156 extern INT32 fei_doparallel_wave ( INT32 iter_start, 01157 INT32 iter_end, 01158 INT32 lineno ); 01159 extern void fei_par_body ( INT32 taskloop_x, INT32 lineno ); 01160 extern void fei_endpar_body ( INT32 taskloop_x, INT32 lineno ); 01161 extern INT32 fei_par_case ( INT32 task_x, INT32 lineno ); 01162 extern void fei_par_endcase ( INT32 task_x, INT32 lineno ); 01163 extern void fei_numcpus ( INT32 lineno ); 01164 extern INT32 fei_guard ( INT32 guard_num, INT32 lineno ); 01165 extern void fei_endguard ( INT32 task_x, 01166 INT32 guard_num, 01167 INT32 lineno ); 01168 extern INTPTR fei_task_var ( INTPTR sym_idx, INT32 context ); 01169 extern INT32 fei_task_wait ( INT32 point, INT32 span ); 01170 extern INT32 fei_task_send ( INT32 point, INT32 task_if_idx ); 01171 extern INT32 fei_mpp_master ( INT32 lineno ); 01172 extern void fei_mpp_symmetric_alloc ( void ); 01173 extern void fei_mpp_symmetric_free ( void ); 01174 extern INT32 fei_mpp_parallel ( INT32 all_flg, 01175 INT32 first_ctxt_x, 01176 INT32 last_ctxt_x, 01177 INT32 lineno ); 01178 extern void fei_mpp_endmaster ( INT32 task_x, 01179 INT32 first_ctxt_x, 01180 INT32 last_ctxt_x, 01181 INT32 lineno ); 01182 extern void fei_mpp_endparallel ( INT32 task_x, INT32 lineno ); 01183 extern void fei_mpp_doshared ( INT32 first_induc_x, 01184 INT32 last_induc_x, 01185 INT32 work_dist, 01186 INT32 random_flg, 01187 INT32 nobarrier_flg, 01188 INT32 lineno ); 01189 extern void fei_mpp_barrier ( INT32 lineno ); 01190 extern INT32 fei_mpp_critical ( INT32 lineno ); 01191 extern void fei_mpp_endcritical ( INT32 task_x, INT32 lineno ); 01192 extern INT32 fei_mpp_distrib_dim ( INT32 prev_distrib_x, 01193 INT32 distrib_type, 01194 INT64 blk_sz, 01195 INT32 pe_ratio, 01196 INT32 orig_ext, 01197 INT32 flags ); 01198 extern void cwh_add_to_used_files_table ( char *name, INT32 copy_name ); 01199 extern void fei_critical_open_mp ( char *name ); 01200 extern void fei_endcritical_open_mp ( char *name ); 01201 extern void fei_parallelsections_open_mp ( INT32 task_if_idx, INT32 defaultt ); 01202 extern void fei_paralleldo_open_mp ( INT32 task_if_idx, 01203 INT32 defaultt, 01204 INT32 ordered, 01205 INT32 scheduletype, 01206 INT32 schedulechunck, 01207 INT32 threadcount, 01208 INT32 datacount, 01209 INT32 ontocount ); 01210 extern void fei_parallelworkshare_open_mp( INT32 task_if_idx, INT32 defaultt ); 01211 extern void fei_single_open_mp ( void ); 01212 extern void fei_sections_open_mp ( void ); 01213 extern void fei_workshare_open_mp ( void ); 01214 extern void fei_do_open_mp ( INT32 ordered, 01215 INT32 scheduletype, 01216 INT32 schedulechunck, 01217 INT32 threadcount, 01218 INT32 datacount, 01219 INT32 ontocount ); 01220 extern void fei_parallel_open_mp ( INT32 task_if_idx, INT32 defaultt ); 01221 extern void fei_barrier_open_mp ( void ); 01222 extern void fei_section_open_mp ( void ); 01223 extern void fei_master_open_mp ( void ); 01224 extern void fei_endmaster_open_mp ( void ); 01225 extern void fei_ordered_open_mp ( void ); 01226 extern void fei_endsingle_open_mp ( INT32 nowait ); 01227 extern void fei_enddo_open_mp ( INT32 nowait ); 01228 extern void fei_endsections_open_mp ( INT32 nowait ); 01229 extern void fei_endworkshare_open_mp ( INT32 nowait ); 01230 extern void fei_flush_open_mp ( void ); 01231 extern void fei_endordered_open_mp ( void ); 01232 extern void fei_endparalleldo_open_mp ( void ); 01233 extern void fei_endparallel_open_mp ( void ); 01234 extern void fei_atomic_open_mp ( void ); 01235 extern void fei_endparallelsections_open_mp( void ); 01236 extern void fei_endparallelworkshare_open_mp( void ); 01237 extern void fei_xxx_openad ( char *str ); /* eraxxon: OpenAD */ 01238 extern void fei_dependent_independent_openad( void ); /* eraxxon: OpenAD */ 01239 extern void fei_fetch_and_add ( TYPE type ); 01240 extern void fei_fetch_and_sub ( TYPE type ); 01241 extern void fei_fetch_and_xor ( TYPE type ); 01242 extern void fei_fetch_and_nand ( TYPE type ); 01243 extern void fei_fetch_and_or ( TYPE type ); 01244 extern void fei_fetch_and_and ( TYPE type ); 01245 extern void fei_add_and_fetch ( TYPE type ); 01246 extern void fei_sub_and_fetch ( TYPE type ); 01247 extern void fei_xor_and_fetch ( TYPE type ); 01248 extern void fei_nand_and_fetch ( TYPE type ); 01249 extern void fei_or_and_fetch ( TYPE type ); 01250 extern void fei_and_and_fetch ( TYPE type ); 01251 extern void fei_lock_test_and_set ( TYPE type ); 01252 extern void fei_compare_and_swap ( TYPE type ); 01253 extern void fei_lock_release ( void ); 01254 extern void fei_omp_set_lock ( void ); 01255 extern void fei_omp_unset_lock ( void ); 01256 extern void fei_omp_test_lock ( void ); 01257 extern void fei_synchronize ( void ); 01258 extern void fei_shloc ( void ); 01259 extern void fei_shmalloc ( INT32 nargs ); 01260 extern void fei_shfree ( void ); 01261 extern void fei_user_code_start ( void ); 01262 extern void fei_start_ioblock ( void ); 01263 extern void fei_end_ioblock ( void ); 01264 extern void fei_namelist_ref ( INTPTR sym_idx ); 01265 extern void fei_formatted_read ( void ); 01266 extern void fei_unformatted_read ( void ); 01267 extern void fei_namelist_read ( void ); 01268 extern void fei_formatted_write ( void ); 01269 extern void fei_unformatted_write ( void ); 01270 extern void fei_namelist_write ( void ); 01271 extern void fei_control_list ( INT32 io_type ); 01272 extern void fei_IO_list ( INT32 n_opnds, INT32 io_type ); 01273 extern void fei_implied_do ( void ); 01274 extern void fei_noio_implied_do ( void ); 01275 extern void fei_iolength ( void ); 01276 extern void fei_bit_len ( void ); 01277 extern void fei_where ( INT32 defined_asg, 01278 INT32 inline_state ); 01279 extern void fei_ceiling ( TYPE type ); 01280 extern void fei_exponent ( TYPE type ); 01281 extern void fei_floor ( TYPE type ); 01282 extern void fei_getpos ( void ); 01283 extern void fei_length ( void ); 01284 extern void fei_array_construct ( INT32 nlist,TYPE type); 01285 extern void fei_nearest ( void ); 01286 extern void fei_near ( TYPE type); 01287 extern void fei_present ( void ); 01288 extern void fei_rrspacing ( void ); 01289 extern void fei_spacing ( void ); 01290 extern void fei_unit ( void ); 01291 extern void fei_ridiv ( void ); 01292 extern void fei_addr_con ( TYPE type ); 01293 extern void fei_ex ( INT32 nargs ); 01294 extern void fei_chanDI ( void ); 01295 extern void fei_chanEI ( void ); 01296 extern void fei_push_npex_expr ( INT32 npdx ); 01297 extern void fei_my_pe ( void ); 01298 extern void fei_n_pes ( void ); 01299 extern void fei_symmetric_alloc ( void ); 01300 extern void fei_symmetric_free ( void ); 01301 extern void fei_blkct ( void ); 01302 extern void fei_lowidx ( void ); 01303 extern void fei_hiidx ( void ); 01304 extern void fei_home ( void ); 01305 extern void fei_pes ( void ); 01306 extern void fei_geommap ( void ); 01307 extern void fei_taskmap ( void ); 01308 extern void fei_isshared ( void ); 01309 extern void fei_iscanon ( void ); 01310 extern void fei_inpar ( void ); 01311 extern void fei_indoshrd ( void ); 01312 extern void fei_mpp_sdd_read_base ( void ); 01313 extern void fei_mpp_sdd_write_base ( void ); 01314 extern void fei_mpp_sdd_read_offset ( void ); 01315 extern void fei_mpp_sdd_write_offset ( void ); 01316 extern void fei_mpp_sdd_read_canon ( void ); 01317 extern void fei_mpp_sdd_write_canon ( void ); 01318 extern void fei_mpp_sdd_read_blk_ebp ( void ); 01319 extern void fei_mpp_sdd_write_blk_ebp ( void ); 01320 extern void fei_mpp_sdd_read_pe_bcnt ( void ); 01321 extern void fei_mpp_sdd_write_pe_bcnt ( void ); 01322 extern void fei_mpp_sdd_read_cyc_ebp ( void ); 01323 extern void fei_mpp_sdd_write_cyc_ebp ( void ); 01324 extern void fei_cached_read ( void ); 01325 extern void fei_atomic_swap ( TYPE type ); 01326 extern void fei_set_cache_inv ( void ); 01327 extern void fei_clr_cache_inv ( void ); 01328 extern void fei_partition_type ( void ); 01329 extern void fei_get_bsr0 ( void ); 01330 extern void fei_put_bsr0 ( void ); 01331 extern void fei_loc_cmr ( void ); 01332 extern void fei_rem_cmr ( void ); 01333 extern void fei_wmb ( void ); 01334 extern void fei_read_unkn ( void ); 01335 extern void fei_write_unkn ( void ); 01336 extern void fei_read_fpcr ( void ); 01337 extern void fei_write_fpcr ( void ); 01338 /* extern void fei_len ( TYPE type ); */ 01339 extern void fei_len ( void ); 01340 extern void fei_fraction ( void ); 01341 extern void fei_len_trim ( void ); 01342 extern void fei_trunc ( TYPE type ); 01343 extern void fei_round ( TYPE type ); 01344 extern void fei_pos_diff ( TYPE type ); 01345 extern void fei_sign_xfer ( TYPE type ); 01346 extern void fei_ieee_sign_xfer ( TYPE type ); 01347 extern void fei_rtc ( TYPE type ); 01348 extern void fei_copyin ( void ); 01349 extern void fei_copyout ( void ); 01350 extern void fei_conjg ( TYPE type ); 01351 extern void fei_cot ( TYPE type ); 01352 extern void fei_atan2 ( TYPE type ); 01353 extern void fei_atan2d ( TYPE type ); 01354 extern void fei_coss ( void ); 01355 extern void fei_ranf ( TYPE type ); 01356 extern void fei_wclrsm ( void ); 01357 extern void fei_getvl ( void ); 01358 extern void fei_setvl ( void ); 01359 extern void fei_setcln ( void ); 01360 extern void fei_rjump ( void ); 01361 extern void fei_setca ( void ); 01362 extern void fei_pci ( void ); 01363 extern void fei_cci ( void ); 01364 extern void fei_eci ( void ); 01365 extern void fei_dci ( void ); 01366 extern void fei_eciv ( void ); 01367 extern void fei_dciv ( void ); 01368 extern void fei_multiply_high ( TYPE type ); 01369 extern void fei_mc ( void ); 01370 extern void fei_di ( void ); 01371 extern void fei_ei ( void ); 01372 extern void fei_emi ( void ); 01373 extern void fei_dmi ( void ); 01374 extern void fei_setbp ( void ); 01375 extern void fei_esi ( void ); 01376 extern void fei_clrci ( void ); 01377 extern void fei_loadrt ( void ); 01378 extern void fei_readca ( void ); 01379 extern void fei_readce ( void ); 01380 extern void fei_readci ( void ); 01381 extern void fei_setcl ( void ); 01382 extern void fei_setip ( void ); 01383 extern void fei_clearip ( void ); 01384 extern void fei_setxa ( void ); 01385 extern void fei_slm ( void ); 01386 extern void fei_rlm ( void ); 01387 extern void fei_wlm ( void ); 01388 extern void fei_err ( void ); 01389 extern void fei_writebp ( void ); 01390 extern void fei_cmr ( void ); 01391 extern void fei_tsetsm ( void ); 01392 extern void fei_clrsm ( void ); 01393 extern void fei_setsm ( void ); 01394 extern void fei_getvm ( void ); 01395 extern void fei_setvm ( void ); 01396 extern void fei_jts ( void ); 01397 extern void fei_readb ( void ); 01398 extern void fei_writeb ( void ); 01399 extern void fei_readsb ( void ); 01400 extern void fei_readsbi ( void ); 01401 extern void fei_writesb ( void ); 01402 extern void fei_readst ( void ); 01403 extern void fei_writest ( void ); 01404 extern void fei_readsr ( void ); 01405 extern void fei_writesr ( void ); 01406 extern void fei_fincsr ( void ); 01407 extern void fei_getsem ( void ); 01408 extern void fei_numwords ( void ); 01409 extern void fei_argchk ( void ); 01410 extern void fei_argloc ( void ); 01411 extern void fei_readsm ( void ); 01412 extern void fei_writesm ( void ); 01413 extern void fei_mbclr ( void ); 01414 extern void fei_mbld ( void ); 01415 extern void fei_mbmx ( void ); 01416 extern void fei_mbmxl ( void ); 01417 extern void fei_mbul ( void ); 01418 extern void fei_abs ( TYPE type ); 01419 extern void fei_acos ( TYPE type ); 01420 extern void fei_acosd ( TYPE type ); 01421 extern void fei_asin ( TYPE type ); 01422 extern void fei_asind ( TYPE type ); 01423 extern void fei_atan ( TYPE type ); 01424 extern void fei_atand ( TYPE type ); 01425 extern void fei_cos ( TYPE type ); 01426 extern void fei_cosd ( TYPE type ); 01427 extern void fei_cosh ( TYPE type ); 01428 extern void fei_exp ( TYPE type ); 01429 extern void fei_log ( TYPE type ); 01430 extern void fei_log10 ( TYPE type ); 01431 extern void fei_sin ( TYPE type ); 01432 extern void fei_sind ( TYPE type ); 01433 extern void fei_sinh ( TYPE type ); 01434 extern void fei_sqrt ( TYPE type ); 01435 extern void fei_tan ( TYPE type ); 01436 extern void fei_tand ( TYPE type ); 01437 extern void fei_tanh ( TYPE type ); 01438 extern void fei_mask ( TYPE type ); 01439 extern void fei_readxa ( void ); 01440 extern void fei_readea ( void ); 01441 extern void fei_setea ( void ); 01442 extern void fei_esc ( void ); 01443 extern void fei_dsc ( void ); 01444 extern void fei_alloc ( void ); 01445 extern void fei_free ( void ); 01446 extern void fei_allocate ( INT32 nargs ); 01447 extern void fei_deallocate ( INT32 nargs ); 01448 extern void fei_ssd_alloc ( void ); 01449 extern void fei_ssd_free ( void ); 01450 extern void fei_readbpc ( void ); 01451 extern void fei_arg_addr ( TYPE type ); 01452 extern void fei_addr ( TYPE type ); 01453 extern void fei_real ( TYPE type ); 01454 extern void fei_imag ( TYPE type ); 01455 extern void fei_bneg ( TYPE type ); 01456 extern void fei_lneg ( TYPE type ); 01457 extern void fei_uminus ( TYPE type ); 01458 extern void fei_mult ( TYPE type ); 01459 extern void fei_plus ( TYPE type ); 01460 extern void fei_minus ( TYPE type ); 01461 extern void fei_div ( TYPE type ); 01462 extern void fei_mod ( TYPE type ); 01463 extern void fei_lt ( TYPE type ); 01464 extern void fei_eqv ( TYPE type ); 01465 extern void fei_leqv ( TYPE type ); 01466 extern void fei_eq ( TYPE type ); 01467 extern void fei_gt ( TYPE type ); 01468 extern void fei_or ( TYPE type ); 01469 extern void fei_lor ( TYPE type ); 01470 extern void fei_ge ( TYPE type ); 01471 extern void fei_ne ( TYPE type ); 01472 extern void fei_le ( TYPE type ); 01473 extern void fei_xor ( TYPE type ); 01474 extern void fei_lxor ( TYPE type ); 01475 extern void fei_and ( TYPE type ); 01476 extern void fei_land ( TYPE type ); 01477 extern void fei_lshift ( TYPE type ); 01478 extern void fei_rshift ( TYPE type ); 01479 extern void fei_ashift ( TYPE type ); 01480 extern void fei_hw_rshift ( TYPE type ); 01481 extern void fei_hw_lshift ( TYPE type ); 01482 extern void fei_exponentiate ( TYPE type ); 01483 extern void fei_complex ( TYPE type ); 01484 extern void fei_select ( TYPE type ); 01485 extern void fei_mbits ( TYPE type ); 01486 extern void fei_dshiftl ( TYPE type ); 01487 extern void fei_dshiftr ( TYPE type ); 01488 extern void fei_ranf ( TYPE type ); 01489 extern void fei_ranget ( TYPE type ); 01490 extern void fei_ranset ( TYPE type ); 01491 extern void fei_leadz ( TYPE type, TYPE arg ); 01492 extern void fei_poppar ( TYPE type, TYPE arg ); 01493 extern void fei_popcnt ( TYPE type, TYPE arg ); 01494 extern void fei_new_binop_cshift ( TYPE type ); 01495 extern void fei_mvbits ( TYPE type ); 01496 extern void fei_ishftc ( TYPE type ); 01497 extern void fei_ibits ( TYPE type ); 01498 extern void fei__maxloc ( TYPE type ); 01499 extern void fei__minloc ( TYPE type ); 01500 extern void fei_backspace ( void ); 01501 extern void fei_close ( void ); 01502 extern void fei_endfile ( void ); 01503 extern void fei_inquire ( void ); 01504 extern void fei_open ( void ); 01505 extern void fei_rewind ( void ); 01506 extern void fei_iotype ( void ); 01507 extern void fei_malloc ( void ); 01508 extern void fei_mfree ( void ); 01509 extern INTPTR fei_namelist ( char *name_string, 01510 INT32 nitems, 01511 INTPTR idx , 01512 INT32 in_model); 01513 01514 extern INTPTR fei_interface ( char *name_string, 01515 INT32 nitems, 01516 INT32 kind_interface, 01517 INT32 is_imported); 01518 01519 extern void fei_gen_func_entry (INTPTR idx); 01520 01521 extern void fei_fcd ( TYPE type ); 01522 extern void fei_rrspace ( TYPE type ); 01523 extern void fei_modulo ( TYPE type ); 01524 extern void fei_scale ( TYPE type ); 01525 extern void fei_scan ( TYPE type ); 01526 extern void fei_set_exponent ( TYPE type ); 01527 extern void fei_verify ( TYPE type ); 01528 extern void fei_space ( TYPE type ); 01529 extern void fei_adjustl ( TYPE type ); 01530 extern void fei_adjustr ( TYPE type ); 01531 extern void fei_doloop ( INT32 line ); 01532 extern void fei_dowhile ( void ); 01533 extern void fei_doforever ( void ); 01534 extern void fei_enddo ( void ); 01535 extern void fei_new_select_case ( INT64 low_value_pres, 01536 INT64 high_value_pres, 01537 INT32 case_follows ); 01538 extern void fei_new_select ( INT32 num_cases, 01539 INT32 default_label_idx, 01540 INT32 last_label_idx ); 01541 extern TYPE fei_dope_vector ( INT32 num_dims, 01542 TYPE base_type, 01543 INT32 flags ); 01544 extern void fei_dv_ptr_asg ( void ); 01545 extern void fei_set_dv_hdr_fld ( INT32 field ); 01546 extern void fei_get_dv_hdr_fld ( INT32 field ); 01547 extern void fei_set_dv_low_bnd ( INT32 dim ); 01548 extern void fei_set_dv_extent ( INT32 dim ); 01549 extern void fei_set_dv_str_mult ( INT32 dim ); 01550 extern void fei_get_dv_low_bnd ( INT32 dim, INT32 expand ); 01551 extern void fei_get_dv_extent ( INT32 dim, INT32 expand ); 01552 extern void fei_get_dv_str_mult ( INT32 dim, INT32 expand ); 01553 extern void fei_dv_def ( INT32 num_dims ); 01554 extern void fei_all ( TYPE type ); 01555 extern void fei_any ( TYPE type ); 01556 extern void fei_count ( TYPE type ); 01557 extern void fei_cshift ( TYPE type ); 01558 extern void fei_dot_product ( TYPE type ); 01559 extern void fei_dot_product_logical ( TYPE type ); 01560 extern void fei_eoshift ( TYPE type ); 01561 extern void fei_matmul ( TYPE type ); 01562 extern void fei_maxloc ( TYPE type ); 01563 extern void fei_maxval ( TYPE type ); 01564 extern void fei_merge ( void ); 01565 extern void fei_minloc ( TYPE type ); 01566 extern void fei_minval ( TYPE type ); 01567 extern void fei_pack ( TYPE type ); 01568 extern void fei_premaxval ( void ); 01569 extern void fei_preminval ( void ); 01570 extern void fei_preproduct ( void ); 01571 extern void fei_presum ( void ); 01572 extern void fei_product ( TYPE type ); 01573 extern void fei_reshape ( TYPE type ); 01574 extern void fei_scanmaxval ( void ); 01575 extern void fei_scanminval ( void ); 01576 extern void fei_scanproduct ( void ); 01577 extern void fei_scansum ( void ); 01578 extern void fei_spread ( TYPE type ); 01579 extern void fei_sum ( TYPE type ); 01580 extern void fei_transpose ( TYPE type ); 01581 extern void fei_unpack ( TYPE type ); 01582 extern void fei_fpclass ( TYPE type ); 01583 extern void fei_signbit ( void ); 01584 extern void fei_isfinite ( TYPE type ); 01585 extern void fei_isnormal ( void ); 01586 extern void fei_isnan ( TYPE type ); 01587 extern void fei_isgreater ( void ); 01588 extern void fei_isgeq ( void ); 01589 extern void fei_isless ( void ); 01590 extern void fei_isleq ( void ); 01591 extern void fei_islg ( TYPE type ); 01592 extern void fei_isunordered ( TYPE type ); 01593 extern void fei_get_all_estat ( void ); 01594 extern void fei_set_all_estat ( void ); 01595 extern void fei_test_estat ( void ); 01596 extern void fei_set_estat ( void ); 01597 extern void fei_get_interupt ( void ); 01598 extern void fei_set_interupt ( void ); 01599 extern void fei_test_interupt ( void ); 01600 extern void fei_enbl_interupt ( void ); 01601 extern void fei_dsbl_interupt ( void ); 01602 extern void fei_get_rmode ( void ); 01603 extern void fei_set_rmode ( void ); 01604 extern void fei_scalb ( TYPE type ); 01605 extern void fei_nextafter ( TYPE type ); 01606 extern void fei_set_ieee_stat ( void ); 01607 extern void fei_remainder ( TYPE type ); 01608 extern void fei_logb ( TYPE type ); 01609 extern void fei_ieee_round ( TYPE type ); 01610 extern void fei_ieee_trunc ( TYPE type ); 01611 extern void fei_fort_reset ( void ); 01612 extern void fei_copyin_bound ( INTPTR sym_idx ); 01613 extern INT32 eval_npex ( INT32 npdx, INT32 n_pes_val ); 01614 extern void npex_constant ( INT32 cdx ); 01615 extern void npex_div ( void ); 01616 extern INT32 npex_end ( void ); 01617 extern void npex_init ( void ); 01618 extern void npex_minus ( void ); 01619 extern void npex_mult ( void ); 01620 extern void npex_npes ( void ); 01621 extern void npex_plus ( void ); 01622 extern void npex_shiftl ( void ); 01623 extern void npex_shiftr ( void ); 01624 extern void npex_mod ( void ); 01625 extern void npex_min ( void ); 01626 extern void npex_max ( void ); 01627 extern void npex_uminus ( void ); 01628 extern INT32 npex_to_dex ( INT32 npdx ); 01629 extern void npex_to_expr ( INT32 npdx ); 01630 extern void npex_dex_sync ( void ); 01631 extern void npex_print ( INT32 npdx ); 01632 extern void npex_paren ( void ); 01633 extern void npex_push ( INT32 npdx ); 01634 extern void fei_numargs ( TYPE type ); 01635 const char *opt_vers_name ( void ); 01636 const char *opt_vers_ID ( void ); 01637 const char *opt_vers_number ( void ); 01638 01639 01640 extern void fei_debug_mif_type_idx ( INT32 st_idx, 01641 INT32 mif_type_idx, 01642 INT32 mif_table_type ); 01643 extern void fei_debug_obj ( INT32 idx, 01644 INT32 flags, 01645 INT32 classs, 01646 char *name, 01647 INT32 insttype, 01648 INT32 members, 01649 INT32 numinherit, 01650 INT32 firstobj ); 01651 extern void fei_debug_objmem ( INT32 idx, 01652 INT32 flags, 01653 INT32 visibility, 01654 INT32 next, 01655 char *name ); 01656 01657 extern INT32 fei_debug_obj_inherit ( INT32 objidx, 01658 INT32 visibility ); 01659 01660 extern void fei_debug_scope_info ( INT32 seg_idx, 01661 INT32 start_line, 01662 INT32 end_line ); 01663 01664 extern void fei_debug_type ( INT32 idx, 01665 INT32 flags, 01666 INT32 classs, 01667 INT32 base, 01668 INT32 list, 01669 char *name ); 01670 01671 extern void fei_debug_sym2 ( INT32 idx, 01672 char *name, 01673 INT32 next, 01674 INT64 evalue ); 01675 01676 extern void fei_return_addr ( TYPE result_type ); 01677 01678 extern void PDGCS_mpp_init ( char *src_fname, 01679 char *cwd, 01680 FILE *cif_ptr, 01681 char *cmd_line, 01682 INT32 mpp_info_flgs, 01683 INT32 n_pes_val, 01684 INT32 num_barriers, 01685 INT32 num_eurekas, 01686 INT32 partition_type ); 01687 extern void fei_nullify (INT32 listnum); 01688 01689 extern void fei_init_global_vars(); 01690 extern void fei_set_in_interface_processing(); 01691 extern void fei_reset_in_interface_processing(); 01692 01693 typedef struct type_descriptor pdg_type_tbl_type; 01694 01695 01696 01697 # ifdef __cplusplus 01698 } 01699 # endif 01700