OpenADFortTk (basic)
src/whirl2xaif/wn2xaif_expr.h
Go to the documentation of this file.
00001 // ##########################################################
00002 // # This file is part of OpenADFortTk.                     #
00003 // # The full COPYRIGHT notice can be found in the top      #
00004 // # level directory of the OpenADFortTk source tree.       #
00005 // # For more information visit                             #
00006 // # http://www.mcs.anl.gov/openad                          #
00007 // ##########################################################
00008 
00009 #ifndef wn2xaif_expr_INCLUDED
00010 #define wn2xaif_expr_INCLUDED
00011 
00012 #include "Open64IRInterface/Open64BasicTypes.h"
00013 
00014 #include "whirl2xaif.h"
00015 #include "PUXlationContext.h"
00016 
00017 //***************************************************************************
00018 // Type conversion
00019 //***************************************************************************
00020 
00021 namespace whirl2xaif {
00022 
00023   extern void 
00024   WN2F_cvt(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00025   
00026   extern void 
00027   WN2F_cvtl(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00028   
00029   extern void 
00030   WN2F_tas(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00031 
00032 }; /* namespace whirl2xaif */
00033 
00034 //***************************************************************************
00035 // Leaf (Other)
00036 //***************************************************************************
00037 
00038 namespace whirl2xaif {
00039   
00040   extern void 
00041   xlate_CONST(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00042   
00043   extern void 
00044   xlate_INTCONST(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00045   
00046 }; /* namespace whirl2xaif */
00047 
00048 //***************************************************************************
00049 // Expression Operators: Unary Operations
00050 //***************************************************************************
00051 
00052 namespace whirl2xaif {
00053 
00054   extern void 
00055   xlate_UnaryOp(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00056 
00057   extern void 
00058   WN2F_rsqrt(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00059 
00060   extern void 
00061   WN2F_realpart(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00062   
00063   extern void 
00064   WN2F_imagpart(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00065   
00066   extern void 
00067   xlate_PAREN(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00068   
00069   extern void 
00070   xlate_RECIP(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00071 
00072   extern void 
00073   WN2F_parm(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00074 
00075   extern void 
00076   WN2F_alloca(xml::ostream& xos, WN *wn, PUXlationContext& ctxt) ;
00077   
00078 }; /* namespace whirl2xaif */
00079 
00080 //***************************************************************************
00081 // Expression Operators: Binary Operations
00082 //***************************************************************************
00083 
00084 namespace whirl2xaif {
00085   
00086   extern void 
00087   xlate_BinaryOp(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00088   
00089   extern void 
00090   WN2F_complex(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00091   
00092   extern void 
00093   WN2F_bnor(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00094   
00095   extern void 
00096   WN2F_lshr(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00097 
00098 }; /* namespace whirl2xaif */
00099 
00100 //***************************************************************************
00101 // Expression Operators: Ternary Operations
00102 //***************************************************************************
00103 
00104 namespace whirl2xaif {
00105 
00106   extern void 
00107   WN2F_select(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00108   
00109   extern void 
00110   WN2F_madd(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00111   
00112   extern void 
00113   WN2F_msub(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00114   
00115   extern void 
00116   WN2F_nmadd(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00117   
00118   extern void 
00119   WN2F_nmsub(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00120   
00121 }; /* namespace whirl2xaif */
00122 
00123 //***************************************************************************
00124 // Expression Operators: N-ary Operations
00125 //***************************************************************************
00126 
00127 namespace whirl2xaif {
00128 
00129   extern void 
00130   xlate_INTRINSIC_OP(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00131 
00132   // Array expressions included in memory operations
00133 
00134 }; /* namespace whirl2xaif */
00135 
00136 //***************************************************************************
00137 
00138 #endif 
00139 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines