Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 #if defined(__linux__) || defined(_GCC_NO_PRAGMAWEAK) || defined(__CYGWIN__)
00047
00048 #include "defs.h"
00049 #include "wn.h"
00050 #include "pu_info.h"
00051 #include "w2f_driver.h"
00052
00053 extern void (*W2F_Cleanup_p)(void);
00054
00055 extern void (*W2F_Fini_p)(void);
00056 extern void (*W2F_Init_p)(void);
00057 extern void (*W2F_Mark_Loads_p)(void);
00058 extern void (*W2F_Nomark_Loads_p)(void);
00059 extern const char * (*W2F_Object_Name_p)(ST *func_st);
00060 extern void (*W2F_Outfile_Fini_p)(void);
00061 extern void (*W2F_Outfile_Init_p)(void);
00062 extern void (*W2F_Outfile_Translate_Pu_p)(WN *pu);
00063 extern void (*W2F_Pop_PU_p)(void);
00064 extern void (*W2F_Process_Command_Line_p)(INT phase_argc, char *phase_argv[],
00065 INT argc, char *argv[]);
00066 extern void (*W2F_Push_PU_p)(WN *pu, WN *body_part_of_interest);
00067 extern void (*W2F_Set_Prompf_Emission_p)(WN_MAP *construct_map);
00068 extern void (*W2F_Set_Frequency_Map_p)(WN_MAP frequency_map);
00069 extern const char * (*W2F_Get_Transformed_Src_Path_p)(void);
00070 extern void (*W2F_Reset_Purple_Emission_p)(void);
00071 extern void (*W2F_Set_Purple_Emission_p)(void);
00072 extern BOOL (*W2F_Should_Emit_Nested_PUs_p)(void);
00073 extern void (*W2F_Translate_Istore_Lhs_p)(char *strbuf, UINT bufsize,
00074 WN* lhs, mINT64 istore_ofst, TY_IDX istore_addr_ty, TYPE_ID istore_mtype);
00075 extern void (*W2F_Translate_Purple_Main_p)(FILE *outfile, WN *pu,
00076 const char *region_name);
00077 extern void (*W2F_Translate_Stid_Lhs_p)(char *strbuf, UINT bufsize,
00078 ST *stid_st, mINT64 stid_ofst, TY_IDX stid_ty, TYPE_ID stid_mtype);
00079 extern void (*W2F_Translate_Wn_p)(FILE *outfile, WN *wn);
00080 extern void (*W2F_Translate_Wn_Str_p)(char *strbuf, UINT bufsize, WN *wn);
00081
00082 struct W2F_INIT
00083 {
00084 W2F_INIT () {
00085 W2F_Cleanup_p = W2F_Cleanup;
00086
00087 W2F_Fini_p = W2F_Fini;
00088 W2F_Init_p = W2F_Init;
00089 W2F_Mark_Loads_p = W2F_Mark_Loads;
00090 W2F_Nomark_Loads_p = W2F_Nomark_Loads;
00091 W2F_Object_Name_p = W2F_Object_Name;
00092 W2F_Outfile_Fini_p = W2F_Outfile_Fini;
00093 W2F_Outfile_Init_p = W2F_Outfile_Init;
00094 W2F_Outfile_Translate_Pu_p = W2F_Outfile_Translate_Pu;
00095 W2F_Pop_PU_p = W2F_Pop_PU;
00096 W2F_Process_Command_Line_p = W2F_Process_Command_Line;
00097 W2F_Push_PU_p = W2F_Push_PU;
00098 W2F_Set_Prompf_Emission_p = W2F_Set_Prompf_Emission;
00099 W2F_Set_Frequency_Map_p = W2F_Set_Frequency_Map;
00100 W2F_Get_Transformed_Src_Path_p = W2F_Get_Transformed_Src_Path;
00101 W2F_Reset_Purple_Emission_p = W2F_Reset_Purple_Emission;
00102 W2F_Set_Purple_Emission_p = W2F_Set_Purple_Emission;
00103 W2F_Should_Emit_Nested_PUs_p = W2F_Should_Emit_Nested_PUs;
00104 W2F_Translate_Istore_Lhs_p = W2F_Translate_Istore_Lhs;
00105 W2F_Translate_Purple_Main_p = W2F_Translate_Purple_Main;
00106 W2F_Translate_Stid_Lhs_p = W2F_Translate_Stid_Lhs;
00107 W2F_Translate_Wn_p = W2F_Translate_Wn;
00108 W2F_Translate_Wn_Str_p = W2F_Translate_Wn_Str;
00109 }
00110 } W2F_Initializer;
00111
00112 #endif // __linux__