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

Classes

class  PUXlationContext
 
class  xlate_ST_TAB
 
struct  Fld_Path_Info
 
class  Whirl2Xaif
 
struct  lt_CFGEdge
 
class  LOC_INFO
 
class  SearchSymbolTableEntry
 
struct  AttrSymId_
 
struct  AttrAnnotInfo_
 
class  XlationContext
 

Typedefs

typedef void(* XlateSTHandlerFunc )(xml::ostream &, ST *, PUXlationContext &)
 
typedef void(* TY2F_HANDLER_FUNC )(xml::ostream &, TY_IDX, PUXlationContext &ctxt)
 
typedef struct Fld_Path_Info FLD_PATH_INFO
 
typedef void(* Handler )(xml::ostream &, WN *, PUXlationContext &)
 
typedef std::set< ST * > SymbolPointerSet
 
typedef std::vector
< OA::OA_ptr
< OA::DGraph::NodeInterface > > 
DGraphNodeVec
 
typedef std::vector
< OA::OA_ptr
< OA::DGraph::EdgeInterface > > 
DGraphEdgeVec
 
typedef std::vector
< OA::OA_ptr
< OA::CFG::EdgeInterface > > 
CFGEdgeVec
 

Enumerations

enum  status { good, bad }
 

Functions

static BOOL ST2F_Is_Dummy_Procedure (ST *st)
 
static void ST2F_Declare_Return_Type (xml::ostream &xos, TY_IDX return_ty, PUXlationContext &ctxt)
 
static void xlate_ST_ignore (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STDecl_error (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STDecl_VAR (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STDecl_FUNC (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STDecl_CONST (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STDecl_PREG (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STDecl_BLOCK (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STDecl_NAME (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STDecl_TYPE (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STUse_error (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STUse_VAR (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STUse_CONST (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static void xlate_STUse_BLOCK (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static FLD_HANDLE TY_Lookup_FLD (TY_IDX struct_ty, TY_IDX ref_ty, UINT64 ref_ofst, unsigned short eqInst=1)
 
std::string TCON2F_hollerith (TCON tvalue)
 
std::string TCON2F_translate (TCON tvalue, BOOL is_logical, TY_IDX object_ty)
 
std::string TCON2F_translate (TCON tvalue, BOOL is_logical)
 
void xlate_SymbolTables (xml::ostream &xos, SYMTAB_IDX symtab_lvl, fortTkSupport::ScalarizedRefTab_W2X *nonscalarsymtab, PUXlationContext &ctxt)
 
void xlate_ArrayBounds (xml::ostream &xos, TY_IDX ty_idx, PUXlationContext &ctxt)
 
void xlate_SYMTAB (xml::ostream &xos, SYMTAB_IDX symtab_lvl, PUXlationContext &ctxt)
 
void xlate_ScalarizedRefTab (xml::ostream &xos, fortTkSupport::ScalarizedRefTab_W2X *symtab, PUXlationContext &ctxt)
 
void TranslateSTDecl (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
void TranslateSTUse (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
static bool equivalencedToActive (ST *st, PUXlationContext &ctxt)
 
static bool equivalencedToActiveBlock (ST *st, PUXlationContext &ctxt)
 
static bool activeInCommon (ST *st, PUXlationContext &ctxt)
 
void ST2F_deref_translate (xml::ostream &xos, ST *st, PUXlationContext &ctxt)
 
void ST2F_Declare_Tempvar (TY_IDX ty, UINT idx)
 
static void TY2F_invalid (xml::ostream &xos, TY_IDX ty, PUXlationContext &ctxt)
 
static void TY2F_scalar (xml::ostream &xos, TY_IDX ty, PUXlationContext &ctxt)
 
static void TY2F_array (xml::ostream &xos, TY_IDX ty, PUXlationContext &ctxt)
 
static void TY2F_array_for_pointer (xml::ostream &xos, TY_IDX ty, PUXlationContext &ctxt)
 
static void TY2F_struct (xml::ostream &xos, TY_IDX ty, PUXlationContext &ctxt)
 
static void TY2F_2_struct (xml::ostream &xos, TY_IDX ty, PUXlationContext &ctxt)
 
static void TY2F_pointer (xml::ostream &xos, TY_IDX ty, PUXlationContext &ctxt)
 
static void TY2F_void (xml::ostream &xos, TY_IDX ty, PUXlationContext &ctxt)
 
void TY2F_translate (xml::ostream &xos, TY_IDX ty, BOOL notyapp, PUXlationContext &ctxt)
 
void TY2F_translate (xml::ostream &xos, TY_IDX ty, PUXlationContext &ctxt)
 
static std::string TY2F_Append_Array_Bnd_Ph (ST_IDX arbnd)
 
static void TY2F_Append_ARB (xml::ostream &xos, ARB_HANDLE arb, TY_IDX ty_idx, PUXlationContext &ctxt)
 
static BOOL TY2F_is_character (TY_IDX ty)
 
static BOOL TY2F_Pointer_To_Dope (TY_IDX ty)
 
static FLD_PATH_INFONew_Fld_Path_Info (FLD_HANDLE fld)
 
static STAB_OFFSET TY2F_Fld_Size (FLD_HANDLE this_fld, mUINT64 max_size)
 
static FLD_PATH_INFOSelect_Best_Fld_Path (FLD_PATH_INFO *path1, FLD_PATH_INFO *path2, TY_IDX desired_ty, mUINT64 desired_offset)
 
static FLD_PATH_INFOConstruct_Fld_Path (FLD_HANDLE fld, TY_IDX struct_ty, TY_IDX desired_ty, mUINT64 desired_offset, mUINT64 max_fld_size)
 
static const char * TY2F_Fld_Name (FLD_HANDLE fld, BOOL common_or_equivalence, BOOL alt_return_name)
 
static void TY2F_Equivalence (xml::ostream &xos, const char *equiv_name, const char *fld_name, STAB_OFFSET fld_ofst)
 
static void TY2F_Equivalence_FldList (xml::ostream &xos, FLD_HANDLE fldlist, UINT equiv_var_idx, mUINT64 ofst, BOOL *common_block_equivalenced)
 
static void TY2F_Equivalence_List (xml::ostream &xos, const TY_IDX struct_ty)
 
static void TY2F_Translate_EquivCommon_PtrFld (xml::ostream &xos, FLD_HANDLE fld)
 
static void TY2F_Declare_Common_Flds (xml::ostream &xos, FLD_HANDLE fldlist, BOOL alt_return, BOOL *is_equiv)
 
static void TY2F_List_Common_Flds (xml::ostream &xos, FLD_HANDLE fldlist)
 
void TY2F_Translate_ArrayElt (xml::ostream &xos, TY_IDX arr_ty_idx, STAB_OFFSET arr_ofst)
 
void TY2F_Translate_Common (xml::ostream &xos, const char *name, TY_IDX ty_idx)
 
void TY2F_Translate_Equivalence (xml::ostream &xos, TY_IDX ty_idx, BOOL alt_return)
 
FLD_PATH_INFOTY2F_Free_Fld_Path (FLD_PATH_INFO *fld_path)
 
FLD_PATH_INFOTY2F_Get_Fld_Path (const TY_IDX struct_ty, const TY_IDX object_ty, STAB_OFFSET offset)
 
void TY2F_Translate_Fld_Path (xml::ostream &xos, FLD_PATH_INFO *fld_path, BOOL deref, BOOL member_of_common, BOOL alt_ret_name, PUXlationContext &ctxt)
 
void TY2F_Fld_Separator (xml::ostream &xos)
 
FLD_HANDLE TY2F_Last_Fld (FLD_PATH_INFO *fld_path)
 
FLD_PATH_INFOTY2F_Point_At_Path (FLD_PATH_INFO *path, STAB_OFFSET off)
 
void TY2F_Dump_Fld_Path (FLD_PATH_INFO *fld_path)
 
const char * TranslateTYToSymType (TY_IDX ty_idx)
 
const char * TranslateTYToMType (TY_IDX ty_idx)
 
const char * TranslateTYToSymShape (TY_IDX ty_idx)
 
void TY2F_Prepend_Structures (xml::ostream &xos)
 
bool hasUnstructuredCF (WN *thePU_WN_p, ST *puST_p)
 
static void xlate_EntryPoint (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
static set< OA::SymHandle > * GetParamSymHandleSet (WN *wn_pu)
 
static const char * xlate_intent (WN *parm)
 
static void xlate_BBStmt (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
static void xlate_CFCondition (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
static void xlate_LoopInitialization (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
static void xlate_LoopUpdate (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
static void DumpCFGraphEdge (xml::ostream &xos, UINT eid, OA::OA_ptr< OA::CFG::EdgeInterface > edge)
 
static const char * GetLoopReversalType (OA::OA_ptr< OA::CFG::CFGInterface > cfg, OA::OA_ptr< OA::CFG::NodeInterface > n)
 
static std::string GetIDsForStmtsInBB (OA::OA_ptr< OA::CFG::NodeInterface > node, PUXlationContext &ctxt)
 
pair< bool, INT64GetCFGEdgeCondVal (const OA::OA_ptr< OA::CFG::EdgeInterface > edge)
 
void initOurHandlerTable ()
 
void TranslateWN (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_FUNC_ENTRY (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_ALTENTRY (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_ignore (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_STRCTFLD (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_unknown (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
bool IsActiveStmt (WN *wn, PUXlationContext &ctxt)
 
void xlate_PregRef (xml::ostream &xos, ST *st, TY_IDX preg_ty, PREG_IDX preg_idx, PUXlationContext &ctxt)
 
void xlate_SymRef (xml::ostream &xos, ST *base_st, TY_IDX baseptr_ty, TY_IDX ref_ty, STAB_OFFSET offset, PUXlationContext &ctxt)
 
void xlate_MemRef (xml::ostream &xos, WN *addr, TY_IDX addr_ty, TY_IDX ref_ty, STAB_OFFSET offset, PUXlationContext &ctxt)
 
WN_OFFSET WN2F_Sum_Offsets (WN *addr)
 
void WN2F_Address_Of (xml::ostream &xos)
 
DGraphNodeVecSortDGraphNodes (OA::OA_ptr< OA::DGraph::DGraphInterface > g)
 
DGraphEdgeVecSortDGraphEdges (OA::OA_ptr< OA::DGraph::DGraphInterface > g)
 
CFGEdgeVecSortCFGEdges (OA::OA_ptr< OA::CFG::CFGInterface > g)
 
void DumpGraphEdge (xml::ostream &xos, const char *nm, UINT eid, UINT srcid, UINT targid, UINT pos)
 
void xlate_SideEffectLocationPrint (ST *st, SymbolPointerSet &coveredSymbols, fortTkSupport::SymTabId scopeid, xml::ostream &xos)
 
void xlate_SideEffectNamedLocation (OA::OA_ptr< OA::NamedLoc > theNamedLoc, SymbolPointerSet &coveredSymbols, xml::ostream &xos, WN *wn, PUXlationContext &ctxt, OA::OA_ptr< OA::SymHandleIterator > formalArgSymHandleI)
 
void xlate_SideEffectEntry (OA::OA_ptr< OA::Location > theTopLocation, OA::OA_ptr< OA::Location > theLocation, SymbolPointerSet &coveredSymbols, xml::ostream &xos, WN *wn, PUXlationContext &ctxt, OA::OA_ptr< OA::SymHandleIterator > formalArgSymHandleI)
 
static void findVarSymbolsInTree (WN *wn, SymbolPointerSet &requiredSymbols)
 
static void findRequiredProgramSymbols (WN *wn, PUXlationContext &ctxt, SymbolPointerSet &requiredTempSymbols, SymbolPointerSet &requiredProgramSymbols)
 
static void findRequiredSymbolsInSymbolTable (SYMTAB_IDX symtab_lvl, PUXlationContext &ctxt, SymbolPointerSet &requiredSymbols)
 
void DumpScopeGraphEdge (xml::ostream &xos, UINT eid, UINT srcid, UINT targid)
 
void DumpCallGraphEdge (xml::ostream &xos, UINT eid, UINT srcid, UINT targid)
 
void DumpExprGraphEdge (xml::ostream &xos, UINT eid, UINT srcid, UINT targid, UINT pos)
 
ostream & operator<< (std::ostream &os, const AttrSymId_ &x)
 
AttrSymId_ AttrSymId (ST *st_)
 
template<class T >
ostream & operator<< (std::ostream &os, const AttrAnnotInfo_< T > &x)
 
template<class T >
AttrAnnotInfo_< T > AttrAnnot (const char *tag_, const T &val_)
 
template<class T >
AttrAnnotInfo_< T > AttrAnnotVal (const char *tag_, const T &val_)
 
template<class T >
AttrAnnotInfo_< T > SymTabIdAnnot (const T &val_)
 
template<class T >
AttrAnnotInfo_< T > SymIdAnnot (const T &val_)
 
template<class T >
AttrAnnotInfo_< T > PUIdAnnot (const T &val_)
 
template<class T >
AttrAnnotInfo_< T > WhirlIdAnnot (const T &val_)
 
AttrAnnotInfo_< const char * > IntrinsicKeyAnnot (const char *const &val_)
 
template<class T >
AttrAnnotInfo_< T > PregIdAnnot (const T &val_)
 
template<class T >
AttrAnnotInfo_< T > SymTabIdAnnotVal (const T &val_)
 
template<class T >
AttrAnnotInfo_< T > SymIdAnnotVal (const T &val_)
 
template<class T >
AttrAnnotInfo_< T > PUIdAnnotVal (const T &val_)
 
template<class T >
AttrAnnotInfo_< T > WhirlIdAnnotVal (const T &val_)
 
template<class T >
AttrAnnotInfo_< T > StmtGotoAnnotVal (const T &val_)
 
template<class T >
AttrAnnotInfo_< T > StmtLabelAnnotVal (const T &val_)
 
template<class T >
AttrAnnotInfo_< T > StmtReturnAnnotVal (const T &val_)
 
void xlate_FUNC_ENTRY (xml::ostream &xos, WN *wn, XlationContext &ctxt)
 
void xlate_ALTENTRY (xml::ostream &xos, WN *wn, XlationContext &ctxt)
 
void xlate_ignore (xml::ostream &xos, WN *wn, XlationContext &ctxt)
 
void xlate_unknown (xml::ostream &xos, WN *wn, XlationContext &ctxt)
 
void WN2F_cvt (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_cvtl (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_tas (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_CONST (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_INTCONST (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_UnaryOp (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_rsqrt (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_realpart (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_imagpart (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_PAREN (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_RECIP (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_parm (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_alloca (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_BinaryOp (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_complex (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_bnor (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_lshr (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_select (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_madd (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_msub (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_nmadd (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_nmsub (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_INTRINSIC_OP (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_implied_do (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_IO (xml::ostream &xos, WN *wn, PUXlationContext &context)
 
BOOL xlate_IO_ITEM (xml::ostream &xos, WN *wn, PUXlationContext &context)
 
static void DumpVarRefEdge (xml::ostream &xos, UINT eid, UINT srcid, UINT targid)
 
static void WN2F_Block (xml::ostream &xos, ST *st, STAB_OFFSET off, PUXlationContext &ctxt)
 
static void WN2F_Arrsection_Slots (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
static void xlate_ArrayIndices (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
static WNWN2F_Initiate_ZeroInt (void)
 
static WNWN2F_Initiate_OneInt (void)
 
static void WN2F_Substring (xml::ostream &xos, INT64 string_size, WN *lower_bnd, WN *substring_size, PUXlationContext &ctxt)
 
static void WN2F_Get_Substring_Info (WN **base, TY_IDX *string_ty, WN **lower_bnd, WN **length)
 
static WNWN2F_Find_Base (WN *addr)
 
BOOL WN2F_Is_Address_Preg (WN *ad, TY_IDX ptr_ty)
 
void xlate_LDA (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_LDID (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_ILOAD (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_ILOADX (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_mload (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_STID (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_ISTORE (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_ISTOREX (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_mstore (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_pstid (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_pstore (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_ARRAY (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_triplet (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_src_triplet (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_arrayexp (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_arrsection (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_where (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_array_bounds (xml::ostream &xos, WN *wn, TY_IDX array_ty, PUXlationContext &ctxt)
 
void WN2F_arrsection_bounds (xml::ostream &xos, WN *wn, TY_IDX array_ty, PUXlationContext &ctxt)
 
void WN2F_String_Argument (xml::ostream &xos, WN *base_parm, WN *length, PUXlationContext &ctxt)
 
void xlate_PassiveStmt (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_BLOCK (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_region (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_DO_LOOP (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_DO_WHILE (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_WHILE_DO (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_IF (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_noio_implied_do (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_GOTO (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_SWITCH (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_casegoto (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_compgoto (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_agoto (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_condBR (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_RETURN (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_RETURN_VAL (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_LABEL (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_CALL (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_INTRINSIC_CALL (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_eval (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_PRAGMA (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_PREFETCH (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_COMMENT (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_dealloca (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void xlate_USE (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_namelist_stmt (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_implicit_bnd (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_nullify_stmt (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_interface_blk (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 
void WN2F_ar_construct (xml::ostream &xos, WN *wn, PUXlationContext &ctxt)
 

Variables

static const XlateSTHandlerFunc XlateSTDecl_HandlerTable [CLASS_COUNT]
 
static const XlateSTHandlerFunc XlateSTUse_HandlerTable [CLASS_COUNT]
 
WNPU_Body
 
BOOL Array_Bnd_Temp_Var =FALSE
 
static const TY2F_HANDLER_FUNC TY2F_Handler [KIND_LAST]
 
static FLD_PATH_INFOFree_Fld_Path_Info = NULL
 
IntrinsicXlationTable IntrinsicTable
 
static std::map< int, HandlerourHandlerTable
 
static bool ourHandlerTableInit =false
 
static WNWN2F_ZeroInt_Ptr = NULL
 
static WNWN2F_OneInt_Ptr = NULL
 

Typedef Documentation

Definition at line 72 of file wn2xaif.h.

Definition at line 70 of file wn2xaif.h.

Definition at line 69 of file wn2xaif.h.

Definition at line 129 of file ty2xaif.h.

typedef void(* whirl2xaif::Handler)(xml::ostream &, WN *, PUXlationContext &)

Definition at line 110 of file wn2xaif.cxx.

typedef std::set<ST *> whirl2xaif::SymbolPointerSet

Definition at line 1026 of file wn2xaif.cxx.

typedef void(* whirl2xaif::TY2F_HANDLER_FUNC)(xml::ostream &, TY_IDX, PUXlationContext &ctxt)

Definition at line 29 of file ty2xaif.cxx.

typedef void(* whirl2xaif::XlateSTHandlerFunc)(xml::ostream &, ST *, PUXlationContext &)

Definition at line 409 of file st2xaif.cxx.

Enumeration Type Documentation

Enumerator
good 
bad 

Definition at line 28 of file whirl2xaif.i.

Function Documentation

static bool whirl2xaif::activeInCommon ( ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 525 of file st2xaif.cxx.

References FLD_last_field(), FLD_st(), whirl2xaif::PUXlationContext::isActiveSym(), Make_fld_iter(), ST_base(), ST_ptr(), ST_type(), TY_flist(), and Ty_Table.

Referenced by xlate_STDecl_VAR().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::AttrAnnot ( const char *  tag_,
const T &  val_ 
)
template<class T >
AttrAnnotInfo_<T> whirl2xaif::AttrAnnotVal ( const char *  tag_,
const T &  val_ 
)
void whirl2xaif::DumpCallGraphEdge ( xml::ostream xos,
UINT  eid,
UINT  srcid,
UINT  targid 
)
inline

Definition at line 114 of file wn2xaif.h.

References DumpGraphEdge().

Referenced by whirl2xaif::Whirl2Xaif::translateIR().

Here is the call graph for this function:

static void whirl2xaif::DumpCFGraphEdge ( xml::ostream xos,
UINT  eid,
OA::OA_ptr< OA::CFG::EdgeInterface edge 
)
static
void whirl2xaif::DumpExprGraphEdge ( xml::ostream xos,
UINT  eid,
UINT  srcid,
UINT  targid,
UINT  pos 
)
inline

Definition at line 123 of file wn2xaif.h.

References DumpGraphEdge().

Referenced by WN2F_Intr_Funcall(), xlate_BinaryOpUsingIntrinsicTable(), and xlate_CALL().

Here is the call graph for this function:

void whirl2xaif::DumpGraphEdge ( xml::ostream xos,
const char *  nm,
UINT  eid,
UINT  srcid,
UINT  targid,
UINT  pos 
)

Definition at line 987 of file wn2xaif.cxx.

References xml::Attr(), xml::BegElem(), and xml::EndElem().

Referenced by DumpCallGraphEdge(), DumpExprGraphEdge(), and DumpScopeGraphEdge().

Here is the call graph for this function:

void whirl2xaif::DumpScopeGraphEdge ( xml::ostream xos,
UINT  eid,
UINT  srcid,
UINT  targid 
)
inline

Definition at line 107 of file wn2xaif.h.

References DumpGraphEdge().

Referenced by whirl2xaif::Whirl2Xaif::translateScopeHierarchyPU().

Here is the call graph for this function:

static void whirl2xaif::DumpVarRefEdge ( xml::ostream xos,
UINT  eid,
UINT  srcid,
UINT  targid 
)
static

Definition at line 1336 of file wn2xaif_mem.cxx.

References xml::Attr(), xml::BegElem(), XAIFStringRepository::elem_VarRefEdge(), xml::EndElem(), and XAIFStrings.

Referenced by WN2F_arrsection(), WN2F_String_Argument(), and xlate_ARRAY().

Here is the call graph for this function:

static bool whirl2xaif::equivalencedToActive ( ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 464 of file st2xaif.cxx.

References FLD_st(), FLD_HANDLE::Is_Null(), whirl2xaif::PUXlationContext::isActiveSym(), ST_base(), ST_ofst(), ST_ptr(), ST_type(), and TY_Lookup_FLD().

Referenced by xlate_STDecl_VAR().

Here is the call graph for this function:

static bool whirl2xaif::equivalencedToActiveBlock ( ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 504 of file st2xaif.cxx.

References FLD_st(), whirl2xaif::PUXlationContext::isActiveSym(), ST_base(), ST_ofst(), ST_ptr(), ST_type(), and TY_Lookup_FLD().

Referenced by xlate_STDecl_VAR().

Here is the call graph for this function:

static void whirl2xaif::findRequiredProgramSymbols ( WN wn,
PUXlationContext &  ctxt,
SymbolPointerSet &  requiredTempSymbols,
SymbolPointerSet &  requiredProgramSymbols 
)
static

look for the definitions of the temp symbols in the program and collect the symbols the respective RHSs are referring to

Definition at line 1264 of file wn2xaif.cxx.

References findVarSymbolsInTree(), FORTTK_ASSERT, OPR_BLOCK, OPR_FUNC_ENTRY, OPR_STID, fortTkSupport::Diagnostics::UnexpectedInput, WN_first(), WN_kid(), WN_kid_count(), WN_next(), WN_operator(), and WN_st().

Referenced by xlate_EntryPoint().

Here is the call graph for this function:

static void whirl2xaif::findRequiredSymbolsInSymbolTable ( SYMTAB_IDX  symtab_lvl,
PUXlationContext &  ctxt,
SymbolPointerSet &  requiredSymbols 
)
static

search the symbol table and find symbols used for dimensions used in array declarations

Definition at line 1383 of file wn2xaif.cxx.

References For_all(), and St_Table.

Referenced by xlate_EntryPoint().

Here is the call graph for this function:

static void whirl2xaif::findVarSymbolsInTree ( WN wn,
SymbolPointerSet &  requiredSymbols 
)
static

for a give wn descend recursively down the tree and collect all the variable symbols that are referenced

Definition at line 1243 of file wn2xaif.cxx.

References CLASS_VAR, ST_class(), ST_is_temp_var(), WN_has_sym, WN_kid(), WN_kid_count(), and WN_st().

Referenced by findRequiredProgramSymbols().

Here is the call graph for this function:

static std::string whirl2xaif::GetIDsForStmtsInBB ( OA::OA_ptr< OA::CFG::NodeInterface node,
PUXlationContext &  ctxt 
)
static

Definition at line 1750 of file wn2xaif.cxx.

References whirl2xaif::PUXlationContext::findWNId(), OA::CFG::NodeInterface::getNodeStatementsIterator(), and Num2Str().

Referenced by xlate_FUNC_ENTRY().

Here is the call graph for this function:

static set< OA::SymHandle > * whirl2xaif::GetParamSymHandleSet ( WN wn_pu)
static

Definition at line 1576 of file wn2xaif.cxx.

References WN_formal, WN_num_formals, and WN_st().

Here is the call graph for this function:

void whirl2xaif::initOurHandlerTable ( )

Definition at line 1817 of file wn2xaif.cxx.

References OPERATOR_UNKNOWN, OPR_ABS, OPR_ADD, OPR_AGOTO, OPR_ALLOCA, OPR_ALTENTRY, OPR_ARRAY, OPR_ARRAY_CONSTRUCT, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_ASHR, OPR_ASSERT, OPR_BACKWARD_BARRIER, OPR_BAND, OPR_BIOR, OPR_BLOCK, OPR_BNOR, OPR_BNOT, OPR_BXOR, OPR_CALL, OPR_CAND, OPR_CASEGOTO, OPR_CEIL, OPR_CIOR, OPR_COMMENT, OPR_COMPGOTO, OPR_COMPLEX, OPR_CONST, OPR_CVT, OPR_CVTL, OPR_DEALLOCA, OPR_DIV, OPR_DO_LOOP, OPR_DO_WHILE, OPR_EQ, OPR_EVAL, OPR_FALSEBR, OPR_FLOOR, OPR_FORWARD_BARRIER, OPR_FUNC_ENTRY, OPR_GE, OPR_GOTO, OPR_GT, OPR_ICALL, OPR_IF, OPR_ILOAD, OPR_ILOADX, OPR_IMAGPART, OPR_IMPLICIT_BND, OPR_IMPLIED_DO, OPR_INTCONST, OPR_INTERFACE, OPR_INTRINSIC_CALL, OPR_INTRINSIC_OP, OPR_IO, OPR_ISTORE, OPR_ISTOREX, OPR_LABEL, OPR_LAND, OPR_LDA, OPR_LDID, OPR_LE, OPR_LIOR, OPR_LNOT, OPR_LSHR, OPR_LT, OPR_MADD, OPR_MAX, OPR_MIN, OPR_MLOAD, OPR_MOD, OPR_MPY, OPR_MSTORE, OPR_MSUB, OPR_NAMELIST, OPR_NE, OPR_NEG, OPR_NMADD, OPR_NMSUB, OPR_NULLIFY, OPR_PAREN, OPR_PARM, OPR_PICCALL, OPR_PRAGMA, OPR_PREFETCH, OPR_PREFETCHX, OPR_PSTID, OPR_PSTORE, OPR_REALPART, OPR_RECIP, OPR_REGION, OPR_REGION_EXIT, OPR_REM, OPR_RETURN, OPR_RETURN_VAL, OPR_RND, OPR_RSQRT, OPR_SELECT, OPR_SHL, OPR_SQRT, OPR_SRCTRIPLET, OPR_STID, OPR_STRCTFLD, OPR_SUB, OPR_SWITCH, OPR_TAS, OPR_TRAP, OPR_TRIPLET, OPR_TRUEBR, OPR_TRUNC, OPR_USE, OPR_WHERE, OPR_WHILE_DO, OPR_XPRAGMA, ourHandlerTable, WN2F_alloca(), WN2F_ar_construct(), WN2F_arrayexp(), WN2F_arrsection(), WN2F_bnor(), WN2F_cvt(), WN2F_cvtl(), WN2F_dealloca(), WN2F_eval(), WN2F_imagpart(), WN2F_implicit_bnd(), WN2F_interface_blk(), WN2F_lshr(), WN2F_madd(), WN2F_mload(), WN2F_mstore(), WN2F_msub(), WN2F_namelist_stmt(), WN2F_nmadd(), WN2F_nmsub(), WN2F_noio_implied_do(), WN2F_nullify_stmt(), WN2F_parm(), WN2F_pstid(), WN2F_pstore(), WN2F_realpart(), WN2F_region(), WN2F_rsqrt(), WN2F_select(), WN2F_src_triplet(), WN2F_tas(), WN2F_triplet(), WN2F_where(), xlate_ALTENTRY(), xlate_ARRAY(), xlate_BinaryOp(), xlate_BLOCK(), xlate_CALL(), xlate_COMMENT(), xlate_condBR(), xlate_CONST(), xlate_DO_LOOP(), xlate_DO_WHILE(), xlate_FUNC_ENTRY(), xlate_GOTO(), xlate_IF(), xlate_ignore(), xlate_ILOAD(), xlate_ILOADX(), xlate_INTCONST(), xlate_INTRINSIC_CALL(), xlate_INTRINSIC_OP(), xlate_IO(), xlate_ISTORE(), xlate_ISTOREX(), xlate_LABEL(), xlate_LDA(), xlate_LDID(), xlate_PAREN(), xlate_PRAGMA(), xlate_PREFETCH(), xlate_RECIP(), xlate_RETURN(), xlate_RETURN_VAL(), xlate_STID(), xlate_STRCTFLD(), xlate_SWITCH(), xlate_UnaryOp(), xlate_unknown(), xlate_USE(), and xlate_WHILE_DO().

Referenced by TranslateWN().

AttrAnnotInfo_<const char*> whirl2xaif::IntrinsicKeyAnnot ( const char *const &  val_)
inline

Definition at line 261 of file wn2xaif.h.

References AttrAnnot(), XAIFStringRepository::tag_IntrinsicKey(), and XAIFStrings.

Referenced by WN2F_Intr_Funcall(), and xlate_CALL().

Here is the call graph for this function:

bool whirl2xaif::IsActiveStmt ( WN wn,
PUXlationContext &  ctxt 
)

Definition at line 365 of file wn2xaif.cxx.

References OPERATOR_is_call(), OPERATOR_is_store(), TranslateTYToSymType(), WN_operator(), and WN_Tree_Type().

Referenced by xlate_BBStmt().

Here is the call graph for this function:

ostream& whirl2xaif::operator<< ( std::ostream &  os,
const AttrSymId_ &  x 
)
inline
template<class T >
ostream& whirl2xaif::operator<< ( std::ostream &  os,
const AttrAnnotInfo_< T > &  x 
)

Definition at line 187 of file wn2xaif.h.

References XAIFStringRepository::attr_annot(), xml::BegAttr(), xml::EndAttr(), XAIFStringRepository::tag_End(), and XAIFStrings.

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::PregIdAnnot ( const T &  val_)

Definition at line 268 of file wn2xaif.h.

References AttrAnnot(), XAIFStringRepository::tag_PregId(), and XAIFStrings.

Referenced by xlate_PregRef().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::PUIdAnnot ( const T &  val_)

Definition at line 248 of file wn2xaif.h.

References AttrAnnot(), XAIFStringRepository::tag_PUId(), and XAIFStrings.

Referenced by whirl2xaif::Whirl2Xaif::translatePU().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::PUIdAnnotVal ( const T &  val_)

Definition at line 292 of file wn2xaif.h.

References AttrAnnotVal(), XAIFStringRepository::tag_PUId(), and XAIFStrings.

Here is the call graph for this function:

static FLD_PATH_INFO* whirl2xaif::Select_Best_Fld_Path ( FLD_PATH_INFO *  path1,
FLD_PATH_INFO *  path2,
TY_IDX  desired_ty,
mUINT64  desired_offset 
)
static
CFGEdgeVec * whirl2xaif::SortCFGEdges ( OA::OA_ptr< OA::CFG::CFGInterface g)

Definition at line 969 of file wn2xaif.cxx.

References OA::DGraph::DGraphInterface::getEdgesIterator(), and OA::DGraph::DGraphInterface::getNumEdges().

Referenced by xlate_FUNC_ENTRY().

Here is the call graph for this function:

DGraphEdgeVec * whirl2xaif::SortDGraphEdges ( OA::OA_ptr< OA::DGraph::DGraphInterface g)

Definition at line 952 of file wn2xaif.cxx.

References OA::DGraph::DGraphInterface::getEdgesIterator(), and OA::DGraph::DGraphInterface::getNumEdges().

Referenced by whirl2xaif::Whirl2Xaif::translateIR().

Here is the call graph for this function:

DGraphNodeVec * whirl2xaif::SortDGraphNodes ( OA::OA_ptr< OA::DGraph::DGraphInterface g)

Definition at line 935 of file wn2xaif.cxx.

References OA::DGraph::DGraphInterface::getNodesIterator(), and OA::DGraph::DGraphInterface::getNumNodes().

Referenced by whirl2xaif::Whirl2Xaif::translateIR().

Here is the call graph for this function:

static void whirl2xaif::ST2F_Declare_Return_Type ( xml::ostream xos,
TY_IDX  return_ty,
PUXlationContext &  ctxt 
)
static

Definition at line 908 of file st2xaif.cxx.

References KIND_VOID, Stab_Mtype_To_Ty(), TY2F_translate(), TY_Is_Pointer(), TY_kind(), and TY_mtype().

Here is the call graph for this function:

void whirl2xaif::ST2F_Declare_Tempvar ( TY_IDX  ty,
UINT  idx 
)
void whirl2xaif::ST2F_deref_translate ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static BOOL whirl2xaif::ST2F_Is_Dummy_Procedure ( ST st)
static

Definition at line 892 of file st2xaif.cxx.

References dummy(), FALSE, KIND_FUNCTION, KIND_POINTER, SCLASS_FORMAL, ST_is_value_parm(), ST_sclass(), ST_type(), TRUE, TY_kind(), and TY_pointed().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::StmtGotoAnnotVal ( const T &  val_)

Definition at line 306 of file wn2xaif.h.

References AttrAnnotVal(), XAIFStringRepository::tag_StmtGoto(), and XAIFStrings.

Referenced by xlate_GOTO().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::StmtLabelAnnotVal ( const T &  val_)

Definition at line 313 of file wn2xaif.h.

References AttrAnnotVal(), XAIFStringRepository::tag_StmtLabel(), and XAIFStrings.

Referenced by xlate_LABEL().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::StmtReturnAnnotVal ( const T &  val_)

Definition at line 320 of file wn2xaif.h.

References AttrAnnotVal(), XAIFStringRepository::tag_StmtReturn(), and XAIFStrings.

Referenced by xlate_PassiveStmt().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::SymIdAnnot ( const T &  val_)

Definition at line 241 of file wn2xaif.h.

References AttrAnnot(), XAIFStringRepository::tag_SymId(), and XAIFStrings.

Referenced by xlate_STDecl_FUNC(), xlate_STDecl_PREG(), and xlate_STDecl_VAR().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::SymIdAnnotVal ( const T &  val_)

Definition at line 285 of file wn2xaif.h.

References AttrAnnotVal(), XAIFStringRepository::tag_SymId(), and XAIFStrings.

Referenced by xlate_CALL().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::SymTabIdAnnot ( const T &  val_)

Definition at line 234 of file wn2xaif.h.

References AttrAnnot(), XAIFStringRepository::tag_SymTabId(), and XAIFStrings.

Referenced by whirl2xaif::Whirl2Xaif::translateScopeHierarchy(), and whirl2xaif::Whirl2Xaif::translateScopeHierarchyPU().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::SymTabIdAnnotVal ( const T &  val_)

Definition at line 278 of file wn2xaif.h.

References AttrAnnotVal(), XAIFStringRepository::tag_SymTabId(), and XAIFStrings.

Here is the call graph for this function:

std::string whirl2xaif::TCON2F_hollerith ( TCON  tvalue)

Definition at line 144 of file st2xaif.cxx.

References FORTTK_ASSERT_WARN, MTYPE_name, MTYPE_STR, Targ_String_Address(), Targ_String_Length(), and TCON_ty.

Referenced by xlate_STUse_CONST().

Here is the call graph for this function:

std::string whirl2xaif::TCON2F_translate ( TCON  tvalue,
BOOL  is_logical 
)

Definition at line 265 of file st2xaif.cxx.

References NULL, and TCON2F_translate().

Here is the call graph for this function:

void whirl2xaif::TranslateSTDecl ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)

Definition at line 442 of file st2xaif.cxx.

References ST_sym_class(), and XlateSTDecl_HandlerTable.

Referenced by whirl2xaif::xlate_ST_TAB::operator()(), and WN2F_interface_blk().

Here is the call graph for this function:

void whirl2xaif::TranslateSTUse ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)

Definition at line 448 of file st2xaif.cxx.

References ST_sym_class(), and XlateSTUse_HandlerTable.

Referenced by WN2F_casegoto(), and xlate_SymRef().

Here is the call graph for this function:

const char * whirl2xaif::TranslateTYToMType ( TY_IDX  ty_idx)
const char * whirl2xaif::TranslateTYToSymShape ( TY_IDX  ty_idx)
void whirl2xaif::TranslateWN ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)
static void whirl2xaif::TY2F_2_struct ( xml::ostream xos,
TY_IDX  ty,
PUXlationContext &  ctxt 
)
static

Definition at line 989 of file ty2xaif.cxx.

References FORTTK_ASSERT, KIND_STRUCT, TY_kind(), Ty_Table, and fortTkSupport::Diagnostics::UnexpectedInput.

Referenced by TY2F_translate().

Here is the call graph for this function:

static std::string whirl2xaif::TY2F_Append_Array_Bnd_Ph ( ST_IDX  arbnd)
static

Definition at line 109 of file ty2xaif.cxx.

References PU_Body.

Referenced by TY2F_Append_ARB().

static void whirl2xaif::TY2F_array_for_pointer ( xml::ostream xos,
TY_IDX  ty,
PUXlationContext &  ctxt 
)
static
static void whirl2xaif::TY2F_Declare_Common_Flds ( xml::ostream xos,
FLD_HANDLE  fldlist,
BOOL  alt_return,
BOOL is_equiv 
)
static

Definition at line 673 of file ty2xaif.cxx.

Referenced by TY2F_Translate_Common(), and TY2F_Translate_Equivalence().

void whirl2xaif::TY2F_Dump_Fld_Path ( FLD_PATH_INFO *  fld_path)
static void whirl2xaif::TY2F_Equivalence ( xml::ostream xos,
const char *  equiv_name,
const char *  fld_name,
STAB_OFFSET  fld_ofst 
)
static

Definition at line 510 of file ty2xaif.cxx.

References Num2Str().

Referenced by TY2F_Equivalence_FldList().

Here is the call graph for this function:

static void whirl2xaif::TY2F_Equivalence_FldList ( xml::ostream xos,
FLD_HANDLE  fldlist,
UINT  equiv_var_idx,
mUINT64  ofst,
BOOL common_block_equivalenced 
)
static

Definition at line 524 of file ty2xaif.cxx.

References FALSE, FLD_equivalence(), FLD_last_field(), FLD_ofst(), FLD_type(), Make_fld_iter(), Num2Str(), StrCat(), TRUE, TY2F_Equivalence(), TY2F_Fld_Name(), TY_flist(), TY_split(), and Ty_Table.

Referenced by TY2F_Equivalence_List().

Here is the call graph for this function:

static void whirl2xaif::TY2F_Equivalence_List ( xml::ostream xos,
const TY_IDX  struct_ty 
)
static
static const char* whirl2xaif::TY2F_Fld_Name ( FLD_HANDLE  fld,
BOOL  common_or_equivalence,
BOOL  alt_return_name 
)
static

Definition at line 485 of file ty2xaif.cxx.

References FLD_name(), and NULL.

Referenced by TY2F_Dump_Fld_Path(), TY2F_Equivalence_FldList(), TY2F_List_Common_Flds(), and TY2F_Translate_Fld_Path().

Here is the call graph for this function:

void whirl2xaif::TY2F_Fld_Separator ( xml::ostream xos)

Definition at line 1212 of file ty2xaif.cxx.

Referenced by TY2F_Translate_Fld_Path(), xlate_MemRef(), and xlate_SymRef().

static STAB_OFFSET whirl2xaif::TY2F_Fld_Size ( FLD_HANDLE  this_fld,
mUINT64  max_size 
)
static

Definition at line 217 of file ty2xaif.cxx.

References FALSE, FLD_equivalence(), FLD_is_bit_field(), FLD_last_field(), FLD_ofst(), FLD_type(), Make_fld_iter(), TRUE, and TY_size().

Referenced by Construct_Fld_Path().

Here is the call graph for this function:

FLD_PATH_INFO * whirl2xaif::TY2F_Free_Fld_Path ( FLD_PATH_INFO *  fld_path)
FLD_PATH_INFO * whirl2xaif::TY2F_Get_Fld_Path ( const TY_IDX  struct_ty,
const TY_IDX  object_ty,
STAB_OFFSET  offset 
)
static void whirl2xaif::TY2F_invalid ( xml::ostream xos,
TY_IDX  ty,
PUXlationContext &  ctxt 
)
static

Definition at line 712 of file ty2xaif.cxx.

References FORTTK_DIE, TY_kind(), Ty_Table, and fortTkSupport::Diagnostics::UnexpectedInput.

Here is the call graph for this function:

static BOOL whirl2xaif::TY2F_is_character ( TY_IDX  ty)
static

Definition at line 158 of file ty2xaif.cxx.

References KIND_ARRAY, TY_etype(), TY_is_character(), and TY_kind().

Referenced by Construct_Fld_Path().

Here is the call graph for this function:

FLD_HANDLE whirl2xaif::TY2F_Last_Fld ( FLD_PATH_INFO *  fld_path)

Definition at line 1219 of file ty2xaif.cxx.

References f, whirl2xaif::Fld_Path_Info::fld, whirl2xaif::Fld_Path_Info::next, and NULL.

Referenced by WN2F_String_Argument().

static void whirl2xaif::TY2F_List_Common_Flds ( xml::ostream xos,
FLD_HANDLE  fldlist 
)
static

Definition at line 682 of file ty2xaif.cxx.

References FALSE, FLD_equivalence(), FLD_last_field(), FLD_type(), Make_fld_iter(), TRUE, TY2F_Fld_Name(), TY_flist(), TY_split(), and Ty_Table.

Referenced by TY2F_Translate_Common().

Here is the call graph for this function:

FLD_PATH_INFO * whirl2xaif::TY2F_Point_At_Path ( FLD_PATH_INFO *  path,
STAB_OFFSET  off 
)

Definition at line 1232 of file ty2xaif.cxx.

References whirl2xaif::Fld_Path_Info::fld, FLD_ofst(), whirl2xaif::Fld_Path_Info::next, and NULL.

Referenced by whirl2xaif::LOC_INFO::WN2F_Find_And_Mark_Nested_Address().

Here is the call graph for this function:

static void whirl2xaif::TY2F_pointer ( xml::ostream xos,
TY_IDX  ty,
PUXlationContext &  ctxt 
)
static

Definition at line 1009 of file ty2xaif.cxx.

References Be_Type_Tbl, KIND_STRUCT, Pointer_Mtype, TY2F_Pointer_To_Dope(), TY2F_translate(), TY_kind(), TY_name(), and TY_pointed().

Here is the call graph for this function:

static BOOL whirl2xaif::TY2F_Pointer_To_Dope ( TY_IDX  ty)
static

Definition at line 173 of file ty2xaif.cxx.

References TY_name(), and TY_pointed().

Referenced by TY2F_pointer().

Here is the call graph for this function:

void whirl2xaif::TY2F_Prepend_Structures ( xml::ostream xos)
static void whirl2xaif::TY2F_struct ( xml::ostream xos,
TY_IDX  ty,
PUXlationContext &  ctxt 
)
static

Definition at line 967 of file ty2xaif.cxx.

References FORTTK_ASSERT, KIND_STRUCT, TY_kind(), TY_name(), Ty_Table, and fortTkSupport::Diagnostics::UnexpectedInput.

Here is the call graph for this function:

void whirl2xaif::TY2F_translate ( xml::ostream xos,
TY_IDX  ty,
BOOL  notyapp,
PUXlationContext &  ctxt 
)
void whirl2xaif::TY2F_translate ( xml::ostream xos,
TY_IDX  ty,
PUXlationContext &  ctxt 
)

Definition at line 78 of file ty2xaif.cxx.

References TY2F_translate().

Here is the call graph for this function:

void whirl2xaif::TY2F_Translate_ArrayElt ( xml::ostream xos,
TY_IDX  arr_ty_idx,
STAB_OFFSET  arr_ofst 
)

Definition at line 1049 of file ty2xaif.cxx.

Referenced by xlate_MemRef(), and xlate_SymRef().

void whirl2xaif::TY2F_Translate_Common ( xml::ostream xos,
const char *  name,
TY_IDX  ty_idx 
)
void whirl2xaif::TY2F_Translate_Equivalence ( xml::ostream xos,
TY_IDX  ty_idx,
BOOL  alt_return 
)
static void whirl2xaif::TY2F_Translate_EquivCommon_PtrFld ( xml::ostream xos,
FLD_HANDLE  fld 
)
static

Definition at line 667 of file ty2xaif.cxx.

void whirl2xaif::TY2F_Translate_Fld_Path ( xml::ostream xos,
FLD_PATH_INFO *  fld_path,
BOOL  deref,
BOOL  member_of_common,
BOOL  alt_ret_name,
PUXlationContext &  ctxt 
)
static void whirl2xaif::TY2F_void ( xml::ostream xos,
TY_IDX  ty,
PUXlationContext &  ctxt 
)
static

Definition at line 1035 of file ty2xaif.cxx.

References FORTTK_ASSERT, KIND_VOID, TY_kind(), Ty_Table, and fortTkSupport::Diagnostics::UnexpectedInput.

Here is the call graph for this function:

static FLD_HANDLE whirl2xaif::TY_Lookup_FLD ( TY_IDX  struct_ty,
TY_IDX  ref_ty,
UINT64  ref_ofst,
unsigned short  eqInst = 1 
)
static

Definition at line 118 of file st2xaif.cxx.

References FALSE, FLD_last_field(), FLD_ofst(), FLD_type(), Make_fld_iter(), Stab_Identical_Types(), TRUE, and TY_fld().

Referenced by equivalencedToActive(), and equivalencedToActiveBlock().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::WhirlIdAnnot ( const T &  val_)

Definition at line 255 of file wn2xaif.h.

References AttrAnnot(), XAIFStringRepository::tag_WHIRLId(), and XAIFStrings.

Referenced by xlate_EntryPoint(), and xlate_ScalarizedRefTab().

Here is the call graph for this function:

template<class T >
AttrAnnotInfo_<T> whirl2xaif::WhirlIdAnnotVal ( const T &  val_)
void whirl2xaif::WN2F_Address_Of ( xml::ostream xos)

Definition at line 927 of file wn2xaif.cxx.

void whirl2xaif::WN2F_alloca ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 467 of file wn2xaif_expr.cxx.

References FORTTK_DIE, TranslateWN(), fortTkSupport::Diagnostics::Unimplemented, and WN_kid0().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_ar_construct ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 1131 of file wn2xaif_stmt.cxx.

References TranslateWN(), WN_kid(), and WN_kid_count().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_array_bounds ( xml::ostream xos,
WN wn,
TY_IDX  array_ty,
PUXlationContext &  ctxt 
)

Definition at line 1137 of file wn2xaif_mem.cxx.

References FORTTK_ASSERT_WARN, TY_AR_etype(), TY_AR_ndims(), TY_is_f90_pointer(), TY_pointed(), TY_size(), WN_element_size(), WN_num_dim, and xlate_ArrayIndices().

Referenced by TY2F_Translate_Fld_Path(), and xlate_ARRAY().

Here is the call graph for this function:

void whirl2xaif::WN2F_arrayexp ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)

Definition at line 922 of file wn2xaif_mem.cxx.

References TranslateWN(), and WN_kid0().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_arrsection_bounds ( xml::ostream xos,
WN wn,
TY_IDX  array_ty,
PUXlationContext &  ctxt 
)
static void whirl2xaif::WN2F_Block ( xml::ostream xos,
ST st,
STAB_OFFSET  off,
PUXlationContext &  ctxt 
)
static
void whirl2xaif::WN2F_bnor ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 500 of file wn2xaif_expr.cxx.

References FORTTK_DIE, Stab_Mtype_To_Ty(), TY_Is_Character_Reference(), fortTkSupport::Diagnostics::Unimplemented, WN_kid(), WN_rtype(), and xlate_Operand().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_casegoto ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 265 of file wn2xaif_stmt.cxx.

References FALSE, Host_To_Targ(), MTYPE_I4, TCON2F_translate(), TranslateSTUse(), val, WN_const_val(), WN_label_number(), and WN_st().

Here is the call graph for this function:

void whirl2xaif::WN2F_compgoto ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)
void whirl2xaif::WN2F_complex ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)
void whirl2xaif::WN2F_cvt ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 214 of file wn2xaif_expr.cxx.

References FORTTK_ASSERT, InitConvOpMap(), OPR_CVT, TranslateWN(), fortTkSupport::Diagnostics::UnexpectedInput, WN_kid0(), and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_cvtl ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)
void whirl2xaif::WN2F_dealloca ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 849 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, OA::n, OPR_DEALLOCA, TranslateWN(), fortTkSupport::Diagnostics::UnexpectedInput, WN_kid(), WN_kid_count(), and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_eval ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 790 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, OPR_EVAL, TranslateWN(), fortTkSupport::Diagnostics::UnexpectedInput, WN_kid0(), and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

static WN* whirl2xaif::WN2F_Find_Base ( WN addr)
static

Definition at line 182 of file wn2xaif_mem.cxx.

References OPR_ADD, OPR_ARRAY, OPR_ILOAD, OPR_INTCONST, WN_kid0(), WN_kid1(), and WN_operator().

Referenced by WN2F_Is_Address_Preg().

Here is the call graph for this function:

static void whirl2xaif::WN2F_Get_Substring_Info ( WN **  base,
TY_IDX string_ty,
WN **  lower_bnd,
WN **  length 
)
static
void whirl2xaif::WN2F_imagpart ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 374 of file wn2xaif_expr.cxx.

References FORTTK_DIE, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_name, TranslateWN(), fortTkSupport::Diagnostics::Unimplemented, WN_kid0(), and WN_rtype().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_implicit_bnd ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 912 of file wn2xaif_stmt.cxx.

Referenced by initOurHandlerTable().

static WN* whirl2xaif::WN2F_Initiate_OneInt ( void  )
static

Definition at line 67 of file wn2xaif_mem.cxx.

References MTYPE_I4, MTYPE_V, OPCODE_make_op(), OPR_INTCONST, WN_const_val(), WN_map_id(), WN_MAP_UNDEFINED, WN_set_kid_count(), and WN_set_opcode().

Here is the call graph for this function:

static WN* whirl2xaif::WN2F_Initiate_ZeroInt ( void  )
static

Definition at line 52 of file wn2xaif_mem.cxx.

References MTYPE_I4, MTYPE_V, OPCODE_make_op(), OPR_INTCONST, WN_const_val(), WN_map_id(), WN_MAP_UNDEFINED, WN_set_kid_count(), and WN_set_opcode().

Here is the call graph for this function:

BOOL whirl2xaif::WN2F_Is_Address_Preg ( WN ad,
TY_IDX  ptr_ty 
)
void whirl2xaif::WN2F_lshr ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 519 of file wn2xaif_expr.cxx.

References FORTTK_DIE, Stab_Mtype_To_Ty(), TY_Is_Character_Reference(), fortTkSupport::Diagnostics::Unimplemented, WN_kid(), WN_rtype(), and xlate_Operand().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_madd ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)
void whirl2xaif::WN2F_mload ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)
void whirl2xaif::WN2F_mstore ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)
void whirl2xaif::WN2F_msub ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)
void whirl2xaif::WN2F_namelist_stmt ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)
void whirl2xaif::WN2F_nmadd ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)
void whirl2xaif::WN2F_nmsub ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)
void whirl2xaif::WN2F_noio_implied_do ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 219 of file wn2xaif_stmt.cxx.

References TranslateWN(), WN_kid(), WN_kid0(), and WN_kid1().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_nullify_stmt ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)
void whirl2xaif::WN2F_realpart ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 346 of file wn2xaif_expr.cxx.

References FORTTK_DIE, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_name, TranslateWN(), fortTkSupport::Diagnostics::Unimplemented, WN_kid0(), and WN_rtype().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_region ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 118 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, FORTTK_DIE, OPR_REGION, fortTkSupport::Diagnostics::UnexpectedInput, fortTkSupport::Diagnostics::Unimplemented, and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_rsqrt ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 330 of file wn2xaif_expr.cxx.

References FORTTK_DIE, Stab_Mtype_To_Ty(), TY_Is_Character_Reference(), fortTkSupport::Diagnostics::Unimplemented, WN_kid(), WN_rtype(), and xlate_Operand().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_select ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 542 of file wn2xaif_expr.cxx.

References FORTTK_DIE, TranslateWN(), fortTkSupport::Diagnostics::Unimplemented, WN_kid0(), WN_kid1(), and WN_kid2().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_String_Argument ( xml::ostream xos,
WN base_parm,
WN length,
PUXlationContext &  ctxt 
)

Definition at line 1189 of file wn2xaif_mem.cxx.

References xml::Attr(), xml::BegElem(), CLASS_CONST, CLASS_FUNC, whirl2xaif::PUXlationContext::createXlationContext(), whirl2xaif::PUXlationContext::currentXlationContext(), whirl2xaif::PUXlationContext::deleteXlationContext(), whirl2xaif::XlationContext::DEREF_ADDR, DumpVarRefEdge(), XAIFStringRepository::elem_VarRef(), xml::EndElem(), whirl2xaif::PUXlationContext::findUDDUChainId(), FLD_type(), FORTTK_ASSERT, whirl2xaif::PUXlationContext::getAliasMapKey(), whirl2xaif::XlationContext::getNewEdgeId(), whirl2xaif::XlationContext::getNewVertexId(), whirl2xaif::XlationContext::HAS_NO_ARR_ELMT, INTR_is_adrtmp, INTR_is_valtmp, whirl2xaif::XlationContext::isFlag(), KIND_SCALAR, KIND_STRUCT, MTYPE_U1, New_TY(), OPC_VCALL, OPC_VINTRINSIC_CALL, OPR_CVTL, OPR_INTCONST, OPR_INTRINSIC_OP, whirl2xaif::XlationContext::peekVertexId(), Save_Str(), Set_TY_is_character(), whirl2xaif::XlationContext::setFlag(), TranslateWN(), TY2F_Free_Fld_Path(), TY2F_Get_Fld_Path(), TY2F_Last_Fld(), TY_Init(), TY_Is_Array_Of_UChars(), TY_Is_Character_String(), TY_kind(), TY_size(), whirl2xaif::XlationContext::unsetFlag(), whirl2xaif::XlationContext::VARREF, WN2F_Get_Substring_Info(), WN2F_INTCONST_ZERO, WN2F_Substring(), WN2F_Sum_Offsets(), WN_class, WN_const_val(), WN_intrinsic(), WN_kid0(), WN_kid1(), WN_opcode(), WN_operator(), WN_Skip_Parm, WN_Tree_Type(), XAIFStrings, and xlate_MemRef().

Referenced by WN2F_arrsection(), WN2F_Intr_Funcall(), xlate_ARRAY(), xlate_CALL(), xlate_INTRINSIC_CALL(), xlate_IO_ITEM_control(), xlate_IO_ITEM_format(), and xlate_IO_ITEM_list().

Here is the call graph for this function:

static void whirl2xaif::WN2F_Substring ( xml::ostream xos,
INT64  string_size,
WN lower_bnd,
WN substring_size,
PUXlationContext &  ctxt 
)
static

translating string slices

Warning
{The whirl format for substrings has in the first child the substring size and in the second the offset from the base. We could make proper lower and upper bound expression from this format for xaif. Because we need to backtranslate to whirl we would then have to undo this - so instead we just dump the current expression into the index/bound positions and leave them as they are even though they look misleading in xaif.}

Definition at line 96 of file wn2xaif_mem.cxx.

References xml::Attr(), xml::BegElem(), whirl2xaif::PUXlationContext::createXlationContext(), whirl2xaif::PUXlationContext::currentXlationContext(), whirl2xaif::PUXlationContext::deleteXlationContext(), XAIFStringRepository::elem_ArrayElemRef(), XAIFStringRepository::elem_Bound(), XAIFStringRepository::elem_Index(), XAIFStringRepository::elem_IndexTriplet(), xml::EndElem(), FORTTK_DIE, whirl2xaif::XlationContext::getNewVertexId(), OPR_INTCONST, TranslateWN(), whirl2xaif::XlationContext::unsetFlag(), whirl2xaif::XlationContext::VARREF, WN_const_val(), WN_operator(), and XAIFStrings.

Referenced by WN2F_String_Argument().

Here is the call graph for this function:

WN_OFFSET whirl2xaif::WN2F_Sum_Offsets ( WN addr)

Definition at line 894 of file wn2xaif.cxx.

References OPR_ADD, OPR_ARRAY, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_INTCONST, WN_const_val(), WN_kid0(), WN_kid1(), and WN_operator().

Referenced by WN2F_String_Argument(), and xlate_MemRef().

Here is the call graph for this function:

void whirl2xaif::WN2F_tas ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 251 of file wn2xaif_expr.cxx.

References FORTTK_ASSERT, OPR_TAS, TranslateWN(), fortTkSupport::Diagnostics::UnexpectedInput, WN_kid0(), and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_triplet ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)

Definition at line 745 of file wn2xaif_mem.cxx.

References FALSE, Host_To_Targ(), MTYPE_I4, MTYPE_I8, OPR_INTCONST, TCON2F_translate(), TranslateWN(), val, WN_const_val(), WN_kid0(), WN_kid1(), WN_kid2(), and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::WN2F_where ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)

Definition at line 1029 of file wn2xaif_mem.cxx.

References TranslateWN(), WN_kid0(), WN_kid1(), and WN_kid2().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_ALTENTRY ( xml::ostream xos,
WN wn,
XlationContext &  ctxt 
)
void whirl2xaif::xlate_ALTENTRY ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)

Definition at line 326 of file wn2xaif.cxx.

References FORTTK_ASSERT, OPR_ALTENTRY, fortTkSupport::Diagnostics::UnexpectedInput, WN_operator(), and xlate_EntryPoint().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_ArrayBounds ( xml::ostream xos,
TY_IDX  ty_idx,
PUXlationContext &  ctxt 
)
void whirl2xaif::xlate_BLOCK ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 108 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, FORTTK_DIE, OPR_BLOCK, fortTkSupport::Diagnostics::UnexpectedInput, fortTkSupport::Diagnostics::Unimplemented, and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_CALL ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 359 of file wn2xaif_stmt.cxx.

References xml::Attr(), AttrSymId(), xml::BegAttr(), xml::BegElem(), whirl2xaif::PUXlationContext::createXlationContext(), whirl2xaif::PUXlationContext::currentXlationContext(), whirl2xaif::PUXlationContext::deleteXlationContext(), DumpExprGraphEdge(), xml::EndAttr(), xml::EndElem(), FALSE, whirl2xaif::PUXlationContext::findParentWN(), whirl2xaif::PUXlationContext::findSymTabId(), whirl2xaif::PUXlationContext::findWNId(), fortTkSupport::IntrinsicXlationTable::XAIFInfoPair::first, FORTTK_ASSERT, FORTTK_DIE, Func_Return_Character(), whirl2xaif::Whirl2Xaif::getIntrinsicXlationTable(), whirl2xaif::XlationContext::getNewEdgeId(), whirl2xaif::XlationContext::getNewVertexId(), whirl2xaif::XlationContext::getWN(), whirl2xaif::XlationContext::HAS_NO_ARR_ELMT, whirl2xaif::XlationContext::hasWN(), INTR_is_valtmp, IntrinsicInfo::intrinsicBaseName(), IntrinsicKeyAnnot(), INTRN_by_value(), INTRN_CONCATEXPR, fortTkSupport::IntrinsicXlationTable::XAIFInfo::key, KIND_FUNCTION, KIND_VOID, MTYPE_M, fortTkSupport::IntrinsicXlationTable::XAIFInfo::name, whirl2xaif::XlationContext::NOFLAG, NULL, OPR_ARRAYEXP, OPR_CALL, OPR_ICALL, OPR_INTRINSIC_CALL, OPR_INTRINSIC_OP, OPR_LDA, OPR_PICCALL, whirl2xaif::XlationContext::peekVertexId(), PU_prototype(), Pu_Table, Scope_tab, fortTkSupport::IntrinsicXlationTable::XAIFInfoPair::second, whirl2xaif::XlationContext::setFlag(), whirl2xaif::XlationContext::setWN(), ST_level(), ST_name(), ST_pu(), SCOPE::st_tab, SymIdAnnotVal(), TranslateTYToSymShape(), TranslateTYToSymType(), TranslateWN(), TRUE, TY_Is_Character_Reference(), TY_Is_Chararray_Reference(), TY_is_f90_pointer(), TY_Is_Pointer(), TY_kind(), TY_mtype(), TY_pointed(), fortTkSupport::Diagnostics::UnexpectedInput, whirl2xaif::XlationContext::unsetFlag(), USRCPOS_linenum, USRCPOS_srcpos, WN2F_String_Argument(), WN_Call_First_Arg_Idx(), WN_Call_Last_Arg_Idx(), WN_Call_Return_Type(), WN_Get_Linenum(), WN_GetExprType(), WN_intrinsic(), WN_kid(), WN_kid0(), WN_kid_count(), WN_opcode(), WN_operator(), WN_Parm_By_Value, WN_st(), WN_Tree_Type(), WN_ty(), xlate_MemRef(), and xlate_PassiveStmt().

Referenced by initOurHandlerTable(), and xlate_INTRINSIC_CALL().

static void whirl2xaif::xlate_CFCondition ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)
static
void whirl2xaif::xlate_condBR ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)
void whirl2xaif::xlate_DO_LOOP ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 128 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, FORTTK_DIE, OPR_DO_LOOP, fortTkSupport::Diagnostics::UnexpectedInput, fortTkSupport::Diagnostics::Unimplemented, and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_DO_WHILE ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 138 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, FORTTK_DIE, OPR_DO_WHILE, fortTkSupport::Diagnostics::UnexpectedInput, fortTkSupport::Diagnostics::Unimplemented, and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_FUNC_ENTRY ( xml::ostream xos,
WN wn,
XlationContext &  ctxt 
)
void whirl2xaif::xlate_FUNC_ENTRY ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)

Definition at line 169 of file wn2xaif.cxx.

References xml::Attr(), xml::BegElem(), OA::OA_ptr< T >::convert(), whirl2xaif::PUXlationContext::createXlationContext(), OA::StmtHandleIterator::current(), Current_PU_Info, CURRENT_SYMTAB, whirl2xaif::PUXlationContext::currentXlationContext(), whirl2xaif::PUXlationContext::deleteXlationContext(), DumpCFGraphEdge(), XAIFStringRepository::elem_BB(), XAIFStringRepository::elem_BBBranch(), XAIFStringRepository::elem_BBForLoop(), XAIFStringRepository::elem_BBPostLoop(), XAIFStringRepository::elem_BBPreLoop(), xml::EndElem(), fortTkSupport::BaseMap< FromTy, ToTy >::Find(), whirl2xaif::PUXlationContext::findSymTabId(), FORTTK_ASSERT, fortTkSupport::InterOAInfoMap::getCFGEach(), OA::CFG::EachCFGInterface::getCFGResults(), fortTkSupport::GetCFGVertexType(), OA::DGraph::NodeImplement::getId(), GetIDsForStmtsInBB(), GetLoopReversalType(), whirl2xaif::XlationContext::getNewEdgeId(), OA::CFG::Node::getNodeStatementsIterator(), whirl2xaif::Whirl2Xaif::getOAAnalMap(), whirl2xaif::Whirl2Xaif::getScalarizedRefTableMap(), OA::DGraph::EdgeInterface::getSink(), OA::DGraph::EdgeInterface::getSource(), whirl2xaif::Whirl2Xaif::getWNToWNIdTableMap(), OA::IRHandle::hval(), OA::StmtHandleIterator::isValid(), OA::n, whirl2xaif::XlationContext::NOFLAG, OPR_DO_LOOP, OPR_DO_WHILE, OPR_FUNC_ENTRY, OPR_IF, OPR_SWITCH, OPR_WHILE_DO, Scope_tab, whirl2xaif::PUXlationContext::setAliasMapXAIF(), whirl2xaif::PUXlationContext::setDoChains(), whirl2xaif::PUXlationContext::setScalarizedRefTab(), whirl2xaif::PUXlationContext::setUDDUChains(), whirl2xaif::PUXlationContext::setWNParentMap(), whirl2xaif::PUXlationContext::setWNToIdMap(), SortCFGEdges(), fortTkSupport::Diagnostics::UnexpectedInput, USRCPOS_linenum, USRCPOS_srcpos, WN_func_body, WN_Get_Linenum(), WN_operator(), XAIFStrings, xlate_BBStmt(), and xlate_EntryPoint().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_IF ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 158 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, FORTTK_DIE, OPR_IF, fortTkSupport::Diagnostics::UnexpectedInput, fortTkSupport::Diagnostics::Unimplemented, and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_ignore ( xml::ostream xos,
WN wn,
XlationContext &  ctxt 
)
void whirl2xaif::xlate_ignore ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)

Definition at line 339 of file wn2xaif.cxx.

Referenced by initOurHandlerTable().

void whirl2xaif::xlate_ILOADX ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)

Definition at line 365 of file wn2xaif_mem.cxx.

References FORTTK_DIE, OPCODE_name(), fortTkSupport::Diagnostics::Unimplemented, and WN_opcode().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

static const char * whirl2xaif::xlate_intent ( WN parm)
static

Definition at line 1589 of file wn2xaif.cxx.

References ST_is_intent_in_argument(), ST_is_intent_out_argument(), WN_Parm_In, WN_Parm_Out, and WN_st().

Referenced by xlate_EntryPoint().

Here is the call graph for this function:

void whirl2xaif::xlate_ISTOREX ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)

Definition at line 516 of file wn2xaif_mem.cxx.

References FORTTK_DIE, OPCODE_name(), fortTkSupport::Diagnostics::Unimplemented, and WN_opcode().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

static void whirl2xaif::xlate_LoopInitialization ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)
static
static void whirl2xaif::xlate_LoopUpdate ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)
static
void whirl2xaif::xlate_MemRef ( xml::ostream xos,
WN addr,
TY_IDX  addr_ty,
TY_IDX  ref_ty,
STAB_OFFSET  offset,
PUXlationContext &  ctxt 
)

Definition at line 608 of file wn2xaif.cxx.

References whirl2xaif::LOC_INFO::_nested_addr, xml::Attr(), xml::BegElem(), CLASS_CONST, whirl2xaif::PUXlationContext::createXlationContext(), CURRENT_SYMTAB, whirl2xaif::PUXlationContext::currentXlationContext(), whirl2xaif::PUXlationContext::deleteXlationContext(), whirl2xaif::XlationContext::DEREF_ADDR, XAIFStringRepository::elem_VarRef(), xml::EndElem(), FALSE, whirl2xaif::PUXlationContext::findScalarizedRef(), whirl2xaif::PUXlationContext::findSymTabId(), whirl2xaif::PUXlationContext::findUDDUChainId(), FORTTK_ASSERT_WARN, FORTTK_DIE, whirl2xaif::PUXlationContext::getAliasMapKey(), whirl2xaif::PUXlationContext::getMostRecentWN(), fortTkSupport::ScalarizedRef::getName(), whirl2xaif::XlationContext::getNewVertexId(), whirl2xaif::XlationContext::HAS_NO_ARR_ELMT, whirl2xaif::XlationContext::isFlag(), fortTkSupport::ScalarizedRef::isRefScalar(), fortTkSupport::ScalarizedRef::isRefSimpleScalar(), KIND_FUNCTION, KIND_STRUCT, NULL, OPR_ARRAY, OPR_ILOAD, OPR_LDA, OPR_LDID, OPR_STRCTFLD, Scope_tab, whirl2xaif::XlationContext::setFlag(), ST_class(), SCOPE::st_tab, ST_type(), Stab_Is_Common_Block(), Stab_Is_Equivalence_Block(), TranslateWN(), TY2F_Fld_Separator(), TY2F_Free_Fld_Path(), TY2F_Get_Fld_Path(), TY2F_Translate_ArrayElt(), TY2F_Translate_Fld_Path(), TY_Is_Array(), TY_Is_Character_String(), TY_kind(), TY_pointed(), TY_size(), fortTkSupport::Diagnostics::Unimplemented, whirl2xaif::XlationContext::unsetFlag(), whirl2xaif::XlationContext::VARREF, WN2F_Can_Assign_Types(), whirl2xaif::LOC_INFO::WN2F_Find_And_Mark_Nested_Address(), WN2F_Is_Address_Preg(), WN2F_Sum_Offsets(), WN_kid0(), WN_lda_offset(), WN_operator(), WN_st(), XAIFStrings, and xlate_SymRef().

Referenced by WN2F_mload(), WN2F_mstore(), WN2F_pstore(), WN2F_String_Argument(), xlate_CALL(), xlate_ILOAD(), xlate_ISTORE(), xlate_Operand(), and xlate_STRCTFLD().

Here is the call graph for this function:

void whirl2xaif::xlate_PAREN ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 401 of file wn2xaif_expr.cxx.

References FORTTK_ASSERT, OPR_PAREN, TranslateWN(), fortTkSupport::Diagnostics::UnexpectedInput, WN_kid0(), and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_PREFETCH ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 824 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, OPR_PREFETCH, OPR_PREFETCHX, fortTkSupport::Diagnostics::UnexpectedInput, and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_RETURN ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 314 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, FORTTK_DIE, OPR_RETURN, fortTkSupport::Diagnostics::UnexpectedInput, fortTkSupport::Diagnostics::Unimplemented, and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_SideEffectLocationPrint ( ST st,
SymbolPointerSet &  coveredSymbols,
fortTkSupport::SymTabId  scopeid,
xml::ostream xos 
)

Definition at line 1029 of file wn2xaif.cxx.

References xml::Attr(), AttrSymId(), xml::BegElem(), xml::EndElem(), FORTTK_MSG, and ST_name().

Referenced by xlate_EntryPoint(), xlate_SideEffectEntry(), and xlate_SideEffectNamedLocation().

Here is the call graph for this function:

static void whirl2xaif::xlate_ST_ignore ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 454 of file st2xaif.cxx.

static void whirl2xaif::xlate_STDecl_BLOCK ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 731 of file st2xaif.cxx.

static void whirl2xaif::xlate_STDecl_CONST ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 709 of file st2xaif.cxx.

static void whirl2xaif::xlate_STDecl_error ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 459 of file st2xaif.cxx.

References FORTTK_DIE, and ST_class().

Here is the call graph for this function:

static void whirl2xaif::xlate_STDecl_FUNC ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 695 of file st2xaif.cxx.

References xml::Attr(), AttrSymId(), xml::BegElem(), CLASS_FUNC, xml::EndElem(), FORTTK_ASSERT, ST_class(), ST_index(), SymIdAnnot(), and fortTkSupport::Diagnostics::UnexpectedInput.

Here is the call graph for this function:

static void whirl2xaif::xlate_STDecl_NAME ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 737 of file st2xaif.cxx.

static void whirl2xaif::xlate_STDecl_PREG ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 715 of file st2xaif.cxx.

References xml::Attr(), AttrSymId(), xml::BegElem(), xml::EndElem(), ST_index(), ST_type(), SymIdAnnot(), and TranslateTYToSymType().

Here is the call graph for this function:

static void whirl2xaif::xlate_STDecl_TYPE ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static
void whirl2xaif::xlate_STRCTFLD ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)

Definition at line 345 of file wn2xaif.cxx.

References WN_Tree_Type(), and xlate_MemRef().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

static void whirl2xaif::xlate_STUse_BLOCK ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static
static void whirl2xaif::xlate_STUse_error ( xml::ostream xos,
ST st,
PUXlationContext &  ctxt 
)
static

Definition at line 761 of file st2xaif.cxx.

References FORTTK_DIE, and ST_class().

Here is the call graph for this function:

void whirl2xaif::xlate_SWITCH ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 255 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, FORTTK_DIE, OPR_SWITCH, fortTkSupport::Diagnostics::UnexpectedInput, fortTkSupport::Diagnostics::Unimplemented, and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_SymbolTables ( xml::ostream xos,
SYMTAB_IDX  symtab_lvl,
fortTkSupport::ScalarizedRefTab_W2X nonscalarsymtab,
PUXlationContext &  ctxt 
)
void whirl2xaif::xlate_SymRef ( xml::ostream xos,
ST base_st,
TY_IDX  baseptr_ty,
TY_IDX  ref_ty,
STAB_OFFSET  offset,
PUXlationContext &  ctxt 
)

Definition at line 440 of file wn2xaif.cxx.

References xml::Attr(), xml::BegElem(), CLASS_BLOCK, CLASS_CONST, CLASS_FUNC, whirl2xaif::PUXlationContext::createXlationContext(), CURRENT_SYMTAB, whirl2xaif::PUXlationContext::currentXlationContext(), whirl2xaif::PUXlationContext::deleteXlationContext(), whirl2xaif::XlationContext::DEREF_ADDR, XAIFStringRepository::elem_VarRef(), xml::EndElem(), FLD_HANDLE::Entry(), FALSE, whirl2xaif::PUXlationContext::findScalarizedRef(), whirl2xaif::PUXlationContext::findSymTabId(), whirl2xaif::PUXlationContext::findUDDUChainId(), whirl2xaif::Fld_Path_Info::fld, whirl2xaif::PUXlationContext::getAliasMapKey(), whirl2xaif::PUXlationContext::getMostRecentWN(), fortTkSupport::ScalarizedRef::getName(), whirl2xaif::XlationContext::getNewVertexId(), whirl2xaif::XlationContext::HAS_NO_ARR_ELMT, whirl2xaif::XlationContext::isFlag(), fortTkSupport::ScalarizedRef::isRefScalar(), fortTkSupport::ScalarizedRef::isRefSimpleArray(), fortTkSupport::ScalarizedRef::isRefSimpleArrayElem(), fortTkSupport::ScalarizedRef::isRefSimpleScalar(), NULL, Num2Str(), SCLASS_FORMAL, Scope_tab, FLD::st, ST2F_deref_translate(), ST_class(), ST_ptr(), ST_sclass(), SCOPE::st_tab, ST_type(), Stab_Is_Common_Block(), Stab_Pointer_To(), TranslateSTUse(), TRUE, TY2F_Fld_Separator(), TY2F_Free_Fld_Path(), TY2F_Get_Fld_Path(), TY2F_Translate_ArrayElt(), TY2F_Translate_Fld_Path(), TY_Is_Array(), TY_is_f90_pointer(), TY_Is_Pointer(), TY_IsRecord(), TY_pointed(), whirl2xaif::XlationContext::unsetFlag(), whirl2xaif::XlationContext::VARREF, and XAIFStrings.

Referenced by WN2F_implied_do(), WN2F_pstid(), xlate_LDA(), xlate_LDID(), xlate_MemRef(), xlate_STID(), and xlate_STUse_VAR().

Here is the call graph for this function:

void whirl2xaif::xlate_SYMTAB ( xml::ostream xos,
SYMTAB_IDX  symtab_lvl,
PUXlationContext &  ctxt 
)

Definition at line 348 of file st2xaif.cxx.

References For_all(), St_Table, and sexp2whirl::xlate_ST_TAB().

Referenced by xlate_SymbolTables().

Here is the call graph for this function:

void whirl2xaif::xlate_UnaryOp ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)
void whirl2xaif::xlate_unknown ( xml::ostream xos,
WN wn,
XlationContext &  ctxt 
)
void whirl2xaif::xlate_unknown ( xml::ostream xos,
WN wn,
PUXlationContext &  ctxt 
)

Definition at line 357 of file wn2xaif.cxx.

References FORTTK_DIE, OPERATOR_name(), fortTkSupport::Diagnostics::UnexpectedOpr, and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

void whirl2xaif::xlate_WHILE_DO ( xml::ostream xos,
WN wn,
PUXlationContext ctxt 
)

Definition at line 148 of file wn2xaif_stmt.cxx.

References FORTTK_ASSERT, FORTTK_DIE, OPR_WHILE_DO, fortTkSupport::Diagnostics::UnexpectedInput, fortTkSupport::Diagnostics::Unimplemented, and WN_operator().

Referenced by initOurHandlerTable().

Here is the call graph for this function:

Variable Documentation

static BOOL whirl2xaif::Array_Bnd_Temp_Var =FALSE

Definition at line 124 of file ty2xaif.h.

FLD_PATH_INFO* whirl2xaif::Free_Fld_Path_Info = NULL
static

Definition at line 169 of file ty2xaif.cxx.

Referenced by New_Fld_Path_Info(), and TY2F_Free_Fld_Path().

IntrinsicXlationTable whirl2xaif::IntrinsicTable
std::map<int,Handler> whirl2xaif::ourHandlerTable
static

Definition at line 111 of file wn2xaif.cxx.

Referenced by initOurHandlerTable(), and TranslateWN().

bool whirl2xaif::ourHandlerTableInit =false
static

Definition at line 112 of file wn2xaif.cxx.

Referenced by TranslateWN().

WN* whirl2xaif::PU_Body
const TY2F_HANDLER_FUNC whirl2xaif::TY2F_Handler[KIND_LAST]
static
Initial value:

Definition at line 50 of file ty2xaif.cxx.

Referenced by TY2F_translate().

WN* whirl2xaif::WN2F_OneInt_Ptr = NULL
static

Definition at line 31 of file wn2xaif_mem.cxx.

WN* whirl2xaif::WN2F_ZeroInt_Ptr = NULL
static

Definition at line 30 of file wn2xaif_mem.cxx.