OpenADFortTk (basic)
src/whirl2xaif/wn2xaif_stmt.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_stmt_INCLUDED
00010 #define wn2xaif_stmt_INCLUDED
00011 
00012 #include "Open64IRInterface/Open64BasicTypes.h"
00013 
00014 #include "whirl2xaif.h"
00015 #include "PUXlationContext.h"
00016 
00017 //***************************************************************************
00018 // Passive Statements
00019 //***************************************************************************
00020 
00021 namespace whirl2xaif {
00022 
00023   extern void 
00024   xlate_PassiveStmt(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00025 
00026 }; /* namespace whirl2xaif */
00027 
00028 
00029 //***************************************************************************
00030 // Structured Control Flow Statements
00031 //***************************************************************************
00032 
00033 namespace whirl2xaif {
00034   
00035   extern void 
00036   xlate_BLOCK(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00037   
00038   extern void 
00039   WN2F_region(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00040   
00041   extern void 
00042   xlate_DO_LOOP(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00043   
00044   extern void 
00045   xlate_DO_WHILE(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00046   
00047   extern void 
00048   xlate_WHILE_DO(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00049   
00050   extern void 
00051   xlate_IF(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00052   
00053 }; /* namespace whirl2xaif */
00054 
00055 
00056 //***************************************************************************
00057 // Unstructured Control Flow Statements
00058 //***************************************************************************
00059 
00060 namespace whirl2xaif {
00061 
00062   extern void 
00063   WN2F_implied_do(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00064 
00065   extern void
00066   WN2F_noio_implied_do(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00067   
00068   extern void 
00069   xlate_GOTO(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00070   
00071   extern void
00072   xlate_SWITCH(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00073   
00074   extern void
00075   WN2F_casegoto(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00076   
00077   extern void 
00078   WN2F_compgoto(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00079   
00080   extern void 
00081   WN2F_agoto(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00082   
00083   extern void 
00084   xlate_condBR(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00085   
00086   extern void 
00087   xlate_RETURN(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00088   
00089   extern void 
00090   xlate_RETURN_VAL(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00091   
00092   extern void 
00093   xlate_LABEL(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00094   
00095 }; /* namespace whirl2xaif */
00096 
00097 
00098 //***************************************************************************
00099 // Calls
00100 //***************************************************************************
00101 
00102 namespace whirl2xaif {
00103 
00104   extern void 
00105   xlate_CALL(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00106   
00107   extern void 
00108   xlate_INTRINSIC_CALL(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00109   
00110 }; /* namespace whirl2xaif */
00111 
00112 
00113 //***************************************************************************
00114 // Other Statements
00115 //***************************************************************************
00116 
00117 namespace whirl2xaif {
00118 
00119   extern void 
00120   WN2F_eval(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00121   
00122   extern void 
00123   xlate_PRAGMA(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00124   
00125   extern void 
00126   xlate_PREFETCH(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00127   
00128   extern void 
00129   xlate_COMMENT(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00130 
00131   extern void 
00132   WN2F_dealloca(xml::ostream& xos, WN *wn, PUXlationContext& ctxt) ;
00133   
00134   
00135   extern void
00136   xlate_USE(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);  
00137 
00138   extern void
00139   WN2F_namelist_stmt(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);  
00140   
00141   extern void
00142   WN2F_implicit_bnd(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 
00143   
00144   extern void
00145   WN2F_nullify_stmt(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00146 
00147   extern void
00148   WN2F_interface_blk(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00149   
00150   extern void
00151   WN2F_ar_construct(xml::ostream& xos, WN *wn, PUXlationContext& ctxt);
00152   
00153 }; /* namespace whirl2xaif */
00154 
00155 //***************************************************************************
00156 
00157 #endif /* wn2xaif_stmt_INCLUDED */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines