Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
ir_reader.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 ir_reader_INCLUDED
00037 #define ir_reader_INCLUDED
00038 /* ====================================================================
00039  * ====================================================================
00040  *
00041  *
00042  * Revision history:
00043  *  31-AUG-94 - Original Version
00044  *
00045  * Description:
00046  *
00047  * ====================================================================
00048  * ====================================================================
00049  */
00050 
00051 
00052 #ifdef _KEEP_RCS_ID
00053 #endif /* _KEEP_RCS_ID */
00054 
00055 extern void IR_reader_init(void);
00056 extern void IR_reader_finish(void);
00057 extern FILE *IR_open(const char *filename);
00058 extern void IR_close(void);
00059 extern BOOL IR_open_output(const char *filename);
00060 extern void IR_close_output(void);
00061 extern WN * IR_get_func(void);
00062 extern void IR_put_func(WN * wn, FILE *f);
00063 extern void IR_Dwarf_Gen_File_Table (BOOL dump_filenames);
00064 extern void IR_Srcpos_Filename (SRCPOS srcpos,         /* in */
00065                                 const char **fname,    /* out */
00066                                 const char **dirname); /* out */
00067 
00068 /* for debugging */
00069 struct ALIAS_MANAGER;    /* forward declaration */
00070 
00071 extern void Check_for_IR_Dump(INT phase, WN *pu, const char *phase_name);
00072 
00073 extern void dump_wn(WN *wn);
00074 extern void dump_tree(WN *wn);
00075 extern void dump_region_tree(WN *wn);
00076 extern void dump_wn_no_st(WN *wn);
00077 extern void fdump_wn_no_st(FILE *fp,WN *wn);
00078 extern void dump_tree_no_st(WN *wn);
00079 extern void fdump_tree_with_alias(FILE *fp, const WN *wn, WN_MAP map, const struct ALIAS_MANAGER *);
00080 extern void fdump_tree_with_freq(FILE *fp, const WN *wn, WN_MAP map);
00081 /* dump an WN node to a file other than stdout */
00082 extern void fdump_wn(FILE *f, WN *wn);
00083 /* dump a tree to a file other than stdout */
00084 extern void fdump_tree(FILE *f, WN *wn);
00085 /* dump a tree to a file other than stdout, and do not print STs */
00086 extern void fdump_tree_no_st(FILE *f, WN *wn);
00087 /* dump a tree to a file, with region info */
00088 extern void fdump_region_tree(FILE *f, WN *wn);
00089 #ifdef BACK_END
00090 extern void fdump_dep_tree( FILE *f, WN *wn, struct ALIAS_MANAGER *alias);
00091 #endif 
00092 /* dump a tree that contains regions of OPs */
00093 extern "C" { void CG_Dump_Region(FILE *f, WN *); }
00094 
00095 /* whether to dump the map info; defaults to FALSE */
00096 extern BOOL IR_dump_map_info;
00097 /* whether to dump the region OPs info; defaults to FALSE */
00098 extern BOOL IR_dump_region;
00099 /* whether to dump the line numbers; defaults to FALSE */
00100 extern BOOL IR_dump_line_numbers;
00101 
00102 /* whether to dump in prefix order or postfix order */
00103 extern BOOL IR_set_dump_order( BOOL dump_prefix);
00104 
00105 /* enable dumping frequency */
00106 extern void enable_tree_freq_display(void);
00107 /* disable dumping frequency */
00108 extern void disable_tree_freq_display(void);
00109 
00110 /* WN_TREE related dump functions */
00111 extern void WN_TREE_put_func(WN * , FILE *);
00112 extern void WN_TREE_dump_tree(WN *wn);
00113 /* dump a tree to a file other than stdout */
00114 extern void WN_TREE_fdump_tree(FILE *f, WN *wn);
00115 
00116 #endif /* ir_reader_INCLUDED */
00117 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines