|
OpenADFortTk (basic)
|
00001 // -*-Mode: C++;-*- 00002 // $Header: /m_home/m_utkej/Argonne/cvs2svn/cvs/OpenADFortTk/src/whirl2xaif/wn2xaif_mem.h,v 1.9 2007-10-08 18:28:35 utke Exp $ 00003 00004 #ifndef wn2xaif_mem_INCLUDED 00005 #define wn2xaif_mem_INCLUDED 00006 00007 #include <limits.h> 00008 #include "Open64IRInterface/Open64BasicTypes.h" 00009 00010 #include "whirl2xaif.h" 00011 #include "PUXlationContext.h" 00012 00013 // *************************************************************************** 00014 // Memory Access (or assignment and variable references) 00015 // *************************************************************************** 00016 00017 namespace whirl2xaif { 00018 00019 // Loads (variable reference) 00020 extern void 00021 xlate_LDA(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00022 00023 extern void 00024 xlate_LDID(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00025 00026 extern void 00027 xlate_ILOAD(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00028 00029 extern void 00030 xlate_ILOADX(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00031 00032 extern void 00033 WN2F_mload(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00034 00035 00036 // Stores (assignment) 00037 extern void 00038 xlate_STID(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00039 00040 extern void 00041 xlate_ISTORE(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00042 00043 extern void 00044 xlate_ISTOREX(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00045 00046 extern void 00047 WN2F_mstore(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00048 00049 00050 extern void 00051 WN2F_pstid(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00052 00053 extern void 00054 WN2F_pstore(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00055 00056 00057 // *************************************************************************** 00058 // Array Operators (N-ary Operations) 00059 // *************************************************************************** 00060 00061 00062 extern void 00063 xlate_ARRAY(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00064 00065 extern void 00066 WN2F_triplet(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00067 00068 extern void 00069 WN2F_src_triplet(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00070 00071 extern void 00072 WN2F_arrayexp(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00073 00074 extern void 00075 WN2F_arrsection(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00076 00077 extern void 00078 WN2F_where(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00079 00080 00081 // *************************************************************************** 00082 00083 // FIXME 00084 extern void 00085 WN2F_array_bounds(xml::ostream& xos, WN *wn, TY_IDX array_ty, 00086 PUXlationContext& ctxt); 00087 extern void 00088 WN2F_arrsection_bounds(xml::ostream& xos, WN *wn, TY_IDX array_ty, 00089 PUXlationContext& ctxt); 00090 00091 extern void 00092 WN2F_String_Argument(xml::ostream& tokens, WN *base, WN *length, 00093 PUXlationContext& ctxt); 00094 00095 extern BOOL 00096 WN2F_Is_Address_Preg(WN * wn ,TY_IDX ptr_ty) ; 00097 00098 // *************************************************************************** 00099 00100 }; /* namespace whirl2xaif */ 00101 00102 #endif /* wn2xaif_mem_INCLUDED */ 00103