sexp2whirl Namespace Reference


Namespaces

namespace  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().

const char * sexp2whirl::GetWhirlFlg ( sexp_t *  sx  ) 

UINT64 sexp2whirl::GetWhirlOpaqueFlg ( sexp_t *  sx  ) 

OPCODE sexp2whirl::GetWhirlOpc ( sexp_t *  sx  ) 

OPERATOR sexp2whirl::GetWhirlOpr ( sexp_t *  sx  ) 

ST_IDX sexp2whirl::GetWhirlSym ( sexp_t *  sx  ) 

ST_IDX sexp2whirl::GetWhirlSymRef ( sexp_t *  sx  ) 

TY_IDX sexp2whirl::GetWhirlTy ( sexp_t *  sx  ) 

TY_IDX sexp2whirl::GetWhirlTyUse ( sexp_t *  sx  ) 

void sexp2whirl::TranslateGlobalSymbolTables ( sexp_t *  gbl_symtab,
int  flags = 0 
)

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

Definition at line 36 of file sexp2whirl.cxx.

References xlate_IR().

Referenced by 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::TranslateWN ( sexp_t *  sx  ) 

std::vector< WN * > sexp2whirl::TranslateWNChildren ( sexp_t *  sx  ) 

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_ARRAYx ( 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_condBR ( sexp_t *  sx  ) 

WN * sexp2whirl::xlate_CONST ( sexp_t *  sx  ) 

WN * sexp2whirl::xlate_CVT_CVTL ( sexp_t *  sx  ) 

void sexp2whirl::xlate_FILE_INFO ( sexp_t *  file_info  ) 

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_GOTOx_LABEL ( 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, INITO::st_idx, TYPE_MEM_POOL_ALLOC, and INITO::val.

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  ) 

WN * sexp2whirl::xlate_INTERFACE ( sexp_t *  sx  ) 

WN * sexp2whirl::xlate_IO ( sexp_t *  sx  ) 

WN * sexp2whirl::xlate_IO_ITEM ( 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  ) 

WN * sexp2whirl::xlate_LDA_LDMA ( sexp_t *  sx  ) 

WN * sexp2whirl::xlate_LDID_STID ( sexp_t *  sx  ) 

WN * sexp2whirl::xlate_misc_stmt ( sexp_t *  sx  ) 

WN * sexp2whirl::xlate_multiBR ( sexp_t *  sx  ) 

WN * sexp2whirl::xlate_PARM ( 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.

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:

PU * sexp2whirl::xlate_PU_TAB_entry ( sexp_t *  sx  ) 

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,
const SCOPE scope 
)

Definition at line 265 of file sexp2symtab.cxx.

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

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(), and TranslateLocalSymbolTables().

Here is the call graph for this function:

ST * sexp2whirl::xlate_ST_TAB_entry ( sexp_t *  sx  ) 

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_STRCTFLD ( sexp_t *  sx  ) 

WN * sexp2whirl::xlate_structured_cf ( sexp_t *  sx  ) 

template<typename T >
T* sexp2whirl::xlate_SYMTAB_entry ( sexp_t *  sx  )  [inline]

Definition at line 143 of file sexp2symtab.h.

References FORTTK_DIE.

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

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

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

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

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

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

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

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

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

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

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

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

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

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:

TY * sexp2whirl::xlate_TY_TAB_entry ( sexp_t *  sx  ) 

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.

Here is the call graph for this function:

WN * sexp2whirl::xlate_UnaryOp ( sexp_t *  sx  )