OpenADFortTk (basic)
src/whirl2xaif/wn2xaif_mem.h
Go to the documentation of this file.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines