OpenADFortTk (including Open64 and OpenAnalysis references)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
sexp2whirl Namespace Reference

Namespaces

 XlateFlags
 

Enumerations

enum  status { good, bad }
 

Functions

void TranslateGlobalSymbolTables (sexp_t *gbl_symtab, int flags=0)
 
void TranslateLocalSymbolTables (sexp_t *pu_symtab, SYMTAB_IDX stab_lvl, int flags=0)
 
void xlate_FILE_INFO (sexp_t *file_info)
 
void xlate_ST_TAB (sexp_t *st_tab, SYMTAB_IDX stab_lvl)
 
void xlate_ST_TAB (sexp_t *st_tab, const SCOPE &scope)
 
void xlate_ST_ATTR_TAB (sexp_t *st_attr_tab, SYMTAB_IDX stab_lvl)
 
void xlate_PU_TAB (sexp_t *pu_tab)
 
void xlate_TY_TAB (sexp_t *ty_tab)
 
void xlate_FLD_TAB (sexp_t *fld_tab)
 
void xlate_ARB_TAB (sexp_t *arb_tab)
 
void xlate_TYLIST_TAB (sexp_t *tylist_tab)
 
void xlate_TCON_TAB (sexp_t *tcon_tab)
 
void xlate_TCON_STR_TAB (sexp_t *str_tab)
 
void xlate_INITO_TAB (sexp_t *inito_tab, SYMTAB_IDX stab_lvl)
 
void xlate_INITV_TAB (sexp_t *initv_tab)
 
void xlate_BLK_TAB (sexp_t *blk_tab)
 
void xlate_STR_TAB (sexp_t *str_tab)
 
void xlate_LABEL_TAB (sexp_t *label_tab, SYMTAB_IDX stab_lvl)
 
void xlate_PREG_TAB (sexp_t *preg_tab, SYMTAB_IDX stab_lvl)
 
STxlate_ST_TAB_entry (sexp_t *sx)
 
ST_ATTRxlate_ST_ATTR_TAB_entry (sexp_t *sx)
 
PUxlate_PU_TAB_entry (sexp_t *sx)
 
TYxlate_TY_TAB_entry (sexp_t *sx)
 
FLDxlate_FLD_TAB_entry (sexp_t *sx)
 
ARBxlate_ARB_TAB_entry (sexp_t *sx)
 
TYLISTxlate_TYLIST_TAB_entry (sexp_t *sx)
 
TCONxlate_TCON_TAB_entry (sexp_t *sx)
 
INITOxlate_INITO_TAB_entry (sexp_t *sx)
 
INITVxlate_INITV_TAB_entry (sexp_t *sx)
 
BLKxlate_BLK_TAB_entry (sexp_t *sx)
 
LABELxlate_LABEL_TAB_entry (sexp_t *sx)
 
PREGxlate_PREG_TAB_entry (sexp_t *sx)
 
UINT32 xlate_TCON_STR_TAB_entry (sexp_t *sx, std::string &buf)
 
UINT32 xlate_STR_TAB_entry (sexp_t *sx, std::string &buf)
 
template<typename T >
T * xlate_SYMTAB_entry (sexp_t *sx)
 
template<>
STxlate_SYMTAB_entry< ST > (sexp_t *sx)
 
template<>
ST_ATTRxlate_SYMTAB_entry< ST_ATTR > (sexp_t *sx)
 
template<>
PUxlate_SYMTAB_entry< PU > (sexp_t *sx)
 
template<>
TYxlate_SYMTAB_entry< TY > (sexp_t *sx)
 
template<>
FLDxlate_SYMTAB_entry< FLD > (sexp_t *sx)
 
template<>
ARBxlate_SYMTAB_entry< ARB > (sexp_t *sx)
 
template<>
TYLISTxlate_SYMTAB_entry< TYLIST > (sexp_t *sx)
 
template<>
TCONxlate_SYMTAB_entry< TCON > (sexp_t *sx)
 
template<>
INITOxlate_SYMTAB_entry< INITO > (sexp_t *sx)
 
template<>
INITVxlate_SYMTAB_entry< INITV > (sexp_t *sx)
 
template<>
BLKxlate_SYMTAB_entry< BLK > (sexp_t *sx)
 
template<>
LABELxlate_SYMTAB_entry< LABEL > (sexp_t *sx)
 
template<>
PREGxlate_SYMTAB_entry< PREG > (sexp_t *sx)
 
PU_InfoTranslateIR (sexp_t *ir, int flags=0)
 
void DumpIR (sexp_t *ir, int flags)
 
const char * ErrIR (sexp_t *ir, int flags=0)
 
WNTranslateWN (sexp_t *sx)
 
std::vector< WN * > TranslateWNChildren (sexp_t *sx)
 
ST_IDX GetWhirlSym (sexp_t *sx)
 
TY_IDX GetWhirlTy (sexp_t *sx)
 
OPERATOR GetWhirlOpr (sexp_t *sx)
 
OPCODE GetWhirlOpc (sexp_t *sx)
 
ST_IDX GetWhirlSymRef (sexp_t *sx)
 
TY_IDX GetWhirlTyUse (sexp_t *sx)
 
const char * GetWhirlFlg (sexp_t *sx)
 
UINT64 GetWhirlOpaqueFlg (sexp_t *sx)
 
WNxlate_INTERFACE (sexp_t *sx)
 
WNxlate_FUNC_ENTRY (sexp_t *sx)
 
WNxlate_BLOCK (sexp_t *sx)
 
WNxlate_REGION (sexp_t *sx)
 
WNxlate_structured_cf (sexp_t *sx)
 
WNxlate_IMPLIED_DO (sexp_t *sx)
 
WNxlate_GOTOx_LABEL (sexp_t *sx)
 
WNxlate_multiBR (sexp_t *sx)
 
WNxlate_CASEGOTO (sexp_t *sx)
 
WNxlate_AGOTO (sexp_t *sx)
 
WNxlate_ALTENTRY (sexp_t *sx)
 
WNxlate_condBR (sexp_t *sx)
 
WNxlate_RETURNx (sexp_t *sx)
 
WNxlate_xCALL (sexp_t *sx)
 
WNxlate_IO (sexp_t *sx)
 
WNxlate_misc_stmt (sexp_t *sx)
 
WNxlate_xPRAGMA (sexp_t *sx)
 
WNxlate_LDA_LDMA (sexp_t *sx)
 
WNxlate_LDID_STID (sexp_t *sx)
 
WNxlate_IDNAME (sexp_t *sx)
 
WNxlate_xLOADx_xSTOREx (sexp_t *sx)
 
WNxlate_PSTID (sexp_t *sx)
 
WNxlate_PSTORE (sexp_t *sx)
 
WNxlate_STRCTFLD (sexp_t *sx)
 
WNxlate_ARRAYx (sexp_t *sx)
 
WNxlate_CVT_CVTL (sexp_t *sx)
 
WNxlate_TAS (sexp_t *sx)
 
WNxlate_CONST (sexp_t *sx)
 
WNxlate_INTCONST (sexp_t *sx)
 
WNxlate_UnaryOp (sexp_t *sx)
 
WNxlate_PARM (sexp_t *sx)
 
WNxlate_ALLOCA (sexp_t *sx)
 
WNxlate_BinaryOp (sexp_t *sx)
 
WNxlate_TernaryOp (sexp_t *sx)
 
WNxlate_IO_ITEM (sexp_t *sx)
 
WNxlate_unknown (sexp_t *sx)
 

Enumeration Type Documentation

Enumerator
good 
bad 

Definition at line 8 of file sexp2whirl.i.

Function Documentation

void sexp2whirl::DumpIR ( sexp_t *  ir,
int  flags 
)

Definition at line 59 of file sexp2whirl.cxx.

References buf.

const char * sexp2whirl::ErrIR ( sexp_t *  ir,
int  flags = 0 
)

Definition at line 43 of file sexp2whirl.cxx.

References buf.

Referenced by xlate_IR().

OPERATOR sexp2whirl::GetWhirlOpr ( sexp_t *  sx)
PU_Info * sexp2whirl::TranslateIR ( sexp_t *  ir,
int  flags = 0 
)

Definition at line 36 of file sexp2whirl.cxx.

References xlate_IR().

Referenced by whirl2sexp::DumpIR(), and real_main().

Here is the call graph for this function:

void sexp2whirl::TranslateLocalSymbolTables ( sexp_t *  pu_symtab,
SYMTAB_IDX  stab_lvl,
int  flags = 0 
)
WN * sexp2whirl::xlate_AGOTO ( sexp_t *  sx)

Definition at line 468 of file sexp2wn.cxx.

References FORTTK_DIE, NULL, and fortTkSupport::Diagnostics::Unimplemented.

WN * sexp2whirl::xlate_ALLOCA ( sexp_t *  sx)

Definition at line 1125 of file sexp2wn.cxx.

References FORTTK_DIE, NULL, and fortTkSupport::Diagnostics::Unimplemented.

WN * sexp2whirl::xlate_ALTENTRY ( sexp_t *  sx)

Definition at line 476 of file sexp2wn.cxx.

References FORTTK_DIE, NULL, and fortTkSupport::Diagnostics::Unimplemented.

void sexp2whirl::xlate_ARB_TAB ( sexp_t *  arb_tab)

Definition at line 303 of file sexp2symtab.cxx.

References SexpTags::ARB_TAB, Arb_Table, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables().

Here is the call graph for this function:

ARB * sexp2whirl::xlate_ARB_TAB_entry ( sexp_t *  sx)
WN * sexp2whirl::xlate_BinaryOp ( sexp_t *  sx)
void sexp2whirl::xlate_BLK_TAB ( sexp_t *  blk_tab)

Definition at line 355 of file sexp2symtab.cxx.

References SexpTags::BLK_TAB, Blk_Table, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables().

Here is the call graph for this function:

BLK * sexp2whirl::xlate_BLK_TAB_entry ( sexp_t *  sx)
WN * sexp2whirl::xlate_BLOCK ( sexp_t *  sx)
WN * sexp2whirl::xlate_CASEGOTO ( sexp_t *  sx)
WN * sexp2whirl::xlate_CONST ( sexp_t *  sx)
void sexp2whirl::xlate_FLD_TAB ( sexp_t *  fld_tab)

Definition at line 296 of file sexp2symtab.cxx.

References SexpTags::FLD_TAB, Fld_Table, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables().

Here is the call graph for this function:

FLD * sexp2whirl::xlate_FLD_TAB_entry ( sexp_t *  sx)
WN * sexp2whirl::xlate_FUNC_ENTRY ( sexp_t *  sx)
WN * sexp2whirl::xlate_IDNAME ( sexp_t *  sx)
WN * sexp2whirl::xlate_IMPLIED_DO ( sexp_t *  sx)

Definition at line 368 of file sexp2wn.cxx.

References FORTTK_DIE, NULL, and fortTkSupport::Diagnostics::Unimplemented.

void sexp2whirl::xlate_INITO_TAB ( sexp_t *  inito_tab,
SYMTAB_IDX  stab_lvl 
)

Definition at line 340 of file sexp2symtab.cxx.

References SexpTags::INITO_TAB, Scope_tab, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables(), and TranslateLocalSymbolTables().

Here is the call graph for this function:

INITO * sexp2whirl::xlate_INITO_TAB_entry ( sexp_t *  sx)

Definition at line 770 of file sexp2symtab.cxx.

References sexp::get_elem1(), sexp::get_next(), sexp::get_value_ui32(), GetWhirlSym(), MEM_pu_pool_ptr, TYPE_MEM_POOL_ALLOC, and val.

Referenced by xlate_SYMTAB_entry< INITO >().

Here is the call graph for this function:

void sexp2whirl::xlate_INITV_TAB ( sexp_t *  initv_tab)

Definition at line 348 of file sexp2symtab.cxx.

References SexpTags::INITV_TAB, Initv_Table, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables().

Here is the call graph for this function:

INITV * sexp2whirl::xlate_INITV_TAB_entry ( sexp_t *  sx)
WN * sexp2whirl::xlate_INTCONST ( sexp_t *  sx)
void sexp2whirl::xlate_LABEL_TAB ( sexp_t *  label_tab,
SYMTAB_IDX  stab_lvl 
)

Definition at line 375 of file sexp2symtab.cxx.

References SexpTags::LABEL_TAB, Scope_tab, and xlate_SYMTAB().

Referenced by TranslateLocalSymbolTables().

Here is the call graph for this function:

LABEL * sexp2whirl::xlate_LABEL_TAB_entry ( sexp_t *  sx)
void sexp2whirl::xlate_PREG_TAB ( sexp_t *  preg_tab,
SYMTAB_IDX  stab_lvl 
)

Definition at line 383 of file sexp2symtab.cxx.

References SexpTags::PREG_TAB, Scope_tab, and xlate_SYMTAB().

Referenced by TranslateLocalSymbolTables().

Here is the call graph for this function:

PREG * sexp2whirl::xlate_PREG_TAB_entry ( sexp_t *  sx)

Definition at line 895 of file sexp2symtab.cxx.

References sexp::get_elem1(), sexp::get_value_ui32(), MEM_pu_pool_ptr, Set_PREG_name_idx(), and TYPE_MEM_POOL_ALLOC.

Referenced by xlate_SYMTAB_entry< PREG >().

Here is the call graph for this function:

WN* sexp2whirl::xlate_PSTID ( sexp_t *  sx)
WN* sexp2whirl::xlate_PSTORE ( sexp_t *  sx)
void sexp2whirl::xlate_PU_TAB ( sexp_t *  pu_tab)

Definition at line 282 of file sexp2symtab.cxx.

References SexpTags::PU_TAB, Pu_Table, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables().

Here is the call graph for this function:

WN * sexp2whirl::xlate_REGION ( sexp_t *  sx)

Definition at line 327 of file sexp2wn.cxx.

References FORTTK_DIE, NULL, and fortTkSupport::Diagnostics::Unimplemented.

WN * sexp2whirl::xlate_RETURNx ( sexp_t *  sx)
void sexp2whirl::xlate_ST_ATTR_TAB ( sexp_t *  st_attr_tab,
SYMTAB_IDX  stab_lvl 
)

Definition at line 273 of file sexp2symtab.cxx.

References Scope_tab, SexpTags::ST_ATTR_TAB, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables(), and TranslateLocalSymbolTables().

Here is the call graph for this function:

ST_ATTR * sexp2whirl::xlate_ST_ATTR_TAB_entry ( sexp_t *  sx)
void sexp2whirl::xlate_ST_TAB ( sexp_t *  st_tab,
SYMTAB_IDX  stab_lvl 
)

Definition at line 257 of file sexp2symtab.cxx.

References Scope_tab, SexpTags::ST_TAB, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables(), TranslateLocalSymbolTables(), and whirl2xaif::xlate_SYMTAB().

Here is the call graph for this function:

void sexp2whirl::xlate_ST_TAB ( sexp_t *  st_tab,
const SCOPE scope 
)

Definition at line 265 of file sexp2symtab.cxx.

References FORTTK_DIE, and fortTkSupport::Diagnostics::Unimplemented.

void sexp2whirl::xlate_STR_TAB ( sexp_t *  str_tab)

Definition at line 362 of file sexp2symtab.cxx.

References buf, Initialize_Strtab(), SexpTags::STR_TAB, xlate_STR_TAB_entry(), and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables().

Here is the call graph for this function:

UINT32 sexp2whirl::xlate_STR_TAB_entry ( sexp_t *  sx,
std::string buf 
)

Definition at line 953 of file sexp2symtab.cxx.

References FORTTK_ASSERT, sexp::get_elem0(), sexp::get_elem1(), sexp::get_value(), sexp::get_value_ui32(), and idx.

Referenced by xlate_STR_TAB().

Here is the call graph for this function:

WN * sexp2whirl::xlate_structured_cf ( sexp_t *  sx)
template<typename T >
T* sexp2whirl::xlate_SYMTAB_entry ( sexp_t *  sx)

Definition at line 143 of file sexp2symtab.h.

References FORTTK_DIE.

template<>
ARB* sexp2whirl::xlate_SYMTAB_entry< ARB > ( sexp_t *  sx)
inline

Definition at line 169 of file sexp2symtab.h.

References xlate_ARB_TAB_entry().

Here is the call graph for this function:

template<>
BLK* sexp2whirl::xlate_SYMTAB_entry< BLK > ( sexp_t *  sx)
inline

Definition at line 189 of file sexp2symtab.h.

References xlate_BLK_TAB_entry().

Here is the call graph for this function:

template<>
FLD* sexp2whirl::xlate_SYMTAB_entry< FLD > ( sexp_t *  sx)
inline

Definition at line 165 of file sexp2symtab.h.

References xlate_FLD_TAB_entry().

Here is the call graph for this function:

template<>
INITO* sexp2whirl::xlate_SYMTAB_entry< INITO > ( sexp_t *  sx)
inline

Definition at line 181 of file sexp2symtab.h.

References xlate_INITO_TAB_entry().

Here is the call graph for this function:

template<>
INITV* sexp2whirl::xlate_SYMTAB_entry< INITV > ( sexp_t *  sx)
inline

Definition at line 185 of file sexp2symtab.h.

References xlate_INITV_TAB_entry().

Here is the call graph for this function:

template<>
LABEL* sexp2whirl::xlate_SYMTAB_entry< LABEL > ( sexp_t *  sx)
inline

Definition at line 193 of file sexp2symtab.h.

References xlate_LABEL_TAB_entry().

Here is the call graph for this function:

template<>
PREG* sexp2whirl::xlate_SYMTAB_entry< PREG > ( sexp_t *  sx)
inline

Definition at line 197 of file sexp2symtab.h.

References xlate_PREG_TAB_entry().

Here is the call graph for this function:

template<>
PU* sexp2whirl::xlate_SYMTAB_entry< PU > ( sexp_t *  sx)
inline

Definition at line 157 of file sexp2symtab.h.

References xlate_PU_TAB_entry().

Here is the call graph for this function:

template<>
ST* sexp2whirl::xlate_SYMTAB_entry< ST > ( sexp_t *  sx)
inline

Definition at line 149 of file sexp2symtab.h.

References xlate_ST_TAB_entry().

Here is the call graph for this function:

template<>
ST_ATTR* sexp2whirl::xlate_SYMTAB_entry< ST_ATTR > ( sexp_t *  sx)
inline

Definition at line 153 of file sexp2symtab.h.

References xlate_ST_ATTR_TAB_entry().

Here is the call graph for this function:

template<>
TCON* sexp2whirl::xlate_SYMTAB_entry< TCON > ( sexp_t *  sx)
inline

Definition at line 177 of file sexp2symtab.h.

References xlate_TCON_TAB_entry().

Here is the call graph for this function:

template<>
TY* sexp2whirl::xlate_SYMTAB_entry< TY > ( sexp_t *  sx)
inline

Definition at line 161 of file sexp2symtab.h.

References xlate_TY_TAB_entry().

Here is the call graph for this function:

template<>
TYLIST* sexp2whirl::xlate_SYMTAB_entry< TYLIST > ( sexp_t *  sx)
inline

Definition at line 173 of file sexp2symtab.h.

References xlate_TYLIST_TAB_entry().

Here is the call graph for this function:

WN * sexp2whirl::xlate_TAS ( sexp_t *  sx)
void sexp2whirl::xlate_TCON_STR_TAB ( sexp_t *  str_tab)

Definition at line 324 of file sexp2symtab.cxx.

References buf, Initialize_TCON_strtab(), SexpTags::TCON_STR_TAB, xlate_SYMTAB(), and xlate_TCON_STR_TAB_entry().

Referenced by TranslateGlobalSymbolTables().

Here is the call graph for this function:

UINT32 sexp2whirl::xlate_TCON_STR_TAB_entry ( sexp_t *  sx,
std::string buf 
)

Definition at line 912 of file sexp2symtab.cxx.

References FORTTK_ASSERT, sexp::get_elem0(), sexp::get_elem1(), sexp::get_value(), sexp::get_value_ui32(), and idx.

Referenced by xlate_TCON_STR_TAB().

Here is the call graph for this function:

void sexp2whirl::xlate_TCON_TAB ( sexp_t *  tcon_tab)

Definition at line 317 of file sexp2symtab.cxx.

References SexpTags::TCON_TAB, Tcon_Table, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables().

Here is the call graph for this function:

TCON * sexp2whirl::xlate_TCON_TAB_entry ( sexp_t *  sx)
WN * sexp2whirl::xlate_TernaryOp ( sexp_t *  sx)
void sexp2whirl::xlate_TY_TAB ( sexp_t *  ty_tab)

Definition at line 289 of file sexp2symtab.cxx.

References SexpTags::TY_TAB, Ty_tab, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables().

Here is the call graph for this function:

void sexp2whirl::xlate_TYLIST_TAB ( sexp_t *  tylist_tab)

Definition at line 310 of file sexp2symtab.cxx.

References SexpTags::TYLIST_TAB, Tylist_Table, and xlate_SYMTAB().

Referenced by TranslateGlobalSymbolTables().

Here is the call graph for this function:

TYLIST * sexp2whirl::xlate_TYLIST_TAB_entry ( sexp_t *  sx)

Definition at line 718 of file sexp2symtab.cxx.

References sexp::get_elem1(), GetWhirlTy(), MEM_pu_pool_ptr, Set_TYLIST_type(), and TYPE_MEM_POOL_ALLOC.

Referenced by xlate_SYMTAB_entry< TYLIST >().

Here is the call graph for this function:

WN * sexp2whirl::xlate_UnaryOp ( sexp_t *  sx)
WN * sexp2whirl::xlate_unknown ( sexp_t *  sx)

Definition at line 1192 of file sexp2wn.cxx.

References FORTTK_DEVMSG, GetWhirlOpr(), NULL, OPERATOR_name(), and fortTkSupport::Diagnostics::UnexpectedOpr.

Referenced by WNXlationTable::WNXlationTable().

Here is the call graph for this function: