OpenADFortTk (including Open64 and OpenAnalysis references)
|
Classes | |
class | AdjustFunctions |
class | PUXlationContext |
class | ConvertModuleTypeFctr |
struct | sort_CondVal |
class | MyDGNode |
class | MyDGEdge |
class | XAIF_DOMErrorHandler |
class | XAIF_ElemFilter |
class | XAIF_ScopeElemFilter |
class | XAIF_SymbolElemFilter |
class | XAIF_DimensionBoundsElemFilter |
class | XAIF_CFGElemFilter |
class | XAIF_BBElemFilter |
class | XAIF_BBStmtElemFilter |
class | XAIF_DerivPropStmt |
class | XAIF_SAXErrorHandler |
class | XAIF_SAXHandler |
class | XercesStrX |
struct | XAIFEdgePositionCompare |
struct | replaceIfLocal |
class | XlateExpression |
class | XlateStmt |
class | XlationContext |
Typedefs | |
typedef std::map< std::string, OA::OA_ptr< MyDGNode > > | VertexIdToMyDGNodeMap |
Enumerations | |
enum | AlgorithmType { ALG_NULL, ALG_BB_PATCHING } |
Functions | |
static int | real_main (int argc, char **argv) |
static int | main_SAX (PU_Info *pu_forest, const char *xaiffilenm, bool validate) |
static int | main_DOM (PU_Info *pu_forest, const char *xaiffilenm, bool validate) |
static int | XercesInit () |
static int | XercesFini () |
static void | TranslateCFG (WN *wn_pu, const xercesc::DOMElement *cfgElem, PUXlationContext &ctxt) |
static WN * | xlate_CFG (WN *wn_pu, OA::OA_ptr< OA::DGraph::DGraphInterface > cfg, OA::OA_ptr< MyDGNode > root, PUXlationContext &ctxt, unsigned &startLabel_r, bool structuredCF) |
static WN * | TranslateBasicBlock (WN *wn_pu, const xercesc::DOMElement *bbElem, PUXlationContext &ctxt, bool skipMarkeredGotoAndLabels, unsigned endLabel) |
static void | TranslateBB_OLD (WN *wn_pu, const xercesc::DOMElement *bbElem, PUXlationContext &ctxt) |
static void | xlate_BasicBlock_OLD (WN *wn_pu, const xercesc::DOMElement *bbElem, PUXlationContext &ctxt) |
static void | xlate_BBCond_OLD (WN *wn_pu, const xercesc::DOMElement *bbElem, PUXlationContext &ctxt) |
static bool | FindNextStmtInterval (const xercesc::DOMElement *bbElem, fortTkSupport::IdList< fortTkSupport::WNId > *bbIdList, fortTkSupport::WNIdToWNMap *wnmap, WN *blkWN, xercesc::DOMElement *&begXAIF, xercesc::DOMElement *&endXAIF, WN *&begWN, WN *&endWN) |
static WN * | FindIntervalBoundary (const xercesc::DOMElement *elem, fortTkSupport::IdList< fortTkSupport::WNId > *bbIdList, fortTkSupport::WNIdToWNMap *wnmap, WN *blkWN, int boundary) |
static WN * | FindWNBlock (const xercesc::DOMElement *bbElem, fortTkSupport::IdList< fortTkSupport::WNId > *idlist, PUXlationContext &ctxt) |
static WN * | FindSafeInsertionPoint (WN *blckWN, WN *stmtWN) |
static void | RemoveFromWhirlIdMaps (WN *wn, fortTkSupport::WNToWNIdMap *wn2idmap, fortTkSupport::WNIdToWNMap *id2wnmap) |
static void | xlate_SymbolTable (const xercesc::DOMElement *elem, const char *scopeId, PU_Info *pu, PUXlationContext &ctxt) |
static void | xlate_Symbol (const xercesc::DOMElement *elem, const char *scopeId, PU_Info *pu, PUXlationContext &ctxt, bool doTempSymbols) |
static WN * | CreateOpenADReplacementBeg (const char *placeholder) |
static WN * | CreateOpenADReplacementEnd () |
static WN * | CreateIfCondition (WN *condWN) |
static ST * | CreateST (const xercesc::DOMElement *elem, SYMTAB_IDX level, const char *nm, fortTkSupport::XAIFSymToSymbolMap &symMap, const char *scopeId) |
static ST * | ConvertIntoGlobalST (ST *st) |
static void | ConvertToActiveType (ST *st) |
static void | ConvertStructMemberToActiveType (TY_IDX base_ty, TY_IDX ref_ty, UINT field_id) |
static void | ConvertScalarizedRefToActiveType (WN *wn) |
static FLD_HANDLE | TY_Lookup_FLD (TY_IDX struct_ty, TY_IDX ref_ty, UINT64 ref_ofst, unsigned short eqInst=1) |
static TY_IDX | MY_Make_Array_Type (TY_IDX elem_ty, INT32 ndim, bool fixed, const INT64 *lower, const INT64 *upper) |
static TY_IDX | XAIFTyToWHIRLTy (const char *type, const TYPE_ID mtype) |
static OA::OA_ptr < OA::DGraph::DGraphInterface > | CreateCFGraph (const xercesc::DOMElement *elem) |
void | TranslateCFG (PU_Info *pu_forest, const xercesc::DOMElement *cfgElem, PUXlationContext &ctxt) |
static WN * | xlate_CFG_BasicBlock (WN *wn_pu, OA::OA_ptr< MyDGNode > curBB, PUXlationContext &ctxt, bool skipMarkeredGotoAndLabels, unsigned newCurBBLbl, unsigned newNextBBLbl, unsigned endLabel) |
static WN * | xlate_CFG_BranchMulti (OA::OA_ptr< MyDGNode > curNode, WN *condWN, unsigned lastLbl, vector< OA::OA_ptr< MyDGEdge > > &outedges, map< OA::OA_ptr< MyDGNode >, unsigned > &nodeToLblMap) |
static pair< WN *, OA::OA_ptr < MyDGNode > > | xlate_CFGstruct (WN *wn_pu, OA::OA_ptr< OA::DGraph::DGraphInterface > cfg, OA::OA_ptr< MyDGNode > startNode, set< xercesc::DOMElement * > &xlated, PUXlationContext &ctxt, unsigned int &startLabel_r) |
static WN * | xlate_CFGunstruct (WN *wn_pu, OA::OA_ptr< OA::DGraph::DGraphInterface > cfg, OA::OA_ptr< MyDGNode > startNode, set< xercesc::DOMElement * > &xlated, PUXlationContext &ctxt, unsigned int &startLabel_r) |
static WN * | xlate_CFG (WN *wn_pu, OA::OA_ptr< OA::DGraph::DGraphInterface > cfg, OA::OA_ptr< MyDGNode > root, PUXlationContext &ctxt, unsigned int &startLabel_r, bool structuredCF) |
OA::OA_ptr< std::list < OA::OA_ptr < OA::DGraph::NodeInterface > > > | getOrderedSinkNodesList (OA::OA_ptr< OA::DGraph::DGraphInterface > cfg, OA::OA_ptr< OA::DGraph::NodeInterface > pNode) |
void | getReversePostDFSListR (OA::OA_ptr< OA::DGraph::DGraphInterface > cfg, OA::OA_ptr< OA::DGraph::NodeInterface > pNode, std::map< OA::OA_ptr< OA::DGraph::NodeInterface >, bool > &visitMap, OA::OA_ptr< std::list< OA::OA_ptr< OA::DGraph::NodeInterface > > > pList) |
OA::OA_ptr< std::list < OA::OA_ptr < OA::DGraph::NodeInterface > > > | getReversePostDFSList (OA::OA_ptr< OA::DGraph::DGraphInterface > cfg) |
fortTkSupport::Symbol * | GetSymbol (const xercesc::DOMElement *elem, PUXlationContext &ctxt) |
fortTkSupport::Symbol * | GetOrCreateSymbol (const char *sname, PUXlationContext &ctxt) |
fortTkSupport::Symbol * | GetOrCreateBogusTmpSymbol (PUXlationContext &ctxt) |
void | xlate_Scope (const xercesc::DOMElement *elem, PUXlationContext &ctxt) |
bool | GetBoolAttr (const xercesc::DOMElement *elem, XMLCh *attr, bool default_val) |
int | GetIntAttr (const xercesc::DOMElement *elem, XMLCh *attr, int default_val) |
bool | GetHasConditionAttr (const xercesc::DOMElement *elem) |
unsigned int | GetCondAttr (const xercesc::DOMElement *elem) |
bool | GetActiveAttr (const xercesc::DOMElement *elem) |
bool | GetDerivAttr (const xercesc::DOMElement *elem) |
unsigned int | GetPositionAttr (const xercesc::DOMElement *elem) |
bool | IsTagPresent (const xercesc::DOMElement *elem, const char *tag) |
bool | IsTagPresent (const char *annotstr, const char *tag) |
fortTkSupport::SymTabId | GetSymTabId (const xercesc::DOMElement *elem) |
fortTkSupport::SymId | GetSymId (const xercesc::DOMElement *elem) |
fortTkSupport::PUId | GetPUId (const xercesc::DOMElement *elem) |
fortTkSupport::WNId | GetWNId (const xercesc::DOMElement *elem) |
fortTkSupport::IdList < fortTkSupport::WNId > * | GetWNIdList (const xercesc::DOMElement *elem) |
std::string | GetIntrinsicKey (const xercesc::DOMElement *elem) |
PREG_IDX | GetPregId (const xercesc::DOMElement *elem) |
template<class T > | |
T | GetId (const xercesc::DOMElement *elem, const char *tag) |
template<class T > | |
fortTkSupport::IdList< T > * | GetIdList (const xercesc::DOMElement *elem, const char *tag) |
template<class T > | |
T | GetId (const char *idstr, const char *tag) |
template<class T > | |
fortTkSupport::IdList< T > * | GetIdList (const char *idstr, const char *tag) |
WN * | CreateCallToIntrin (TYPE_ID rtype, const char *fname, unsigned int argc) |
WN * | CreateCallToIntrin (TYPE_ID rtype, const char *fname, std::vector< WN * > &args) |
WN * | CreateIntrinsicCall (OPERATOR opr, INTRINSIC intrn, TYPE_ID rtype, TYPE_ID dtype, std::vector< WN * > &args) |
WN * | CreateBoolConst (unsigned int val) |
void | DeclareActiveTypes () |
TYPE_ID | XAIFFETypeToWHIRLMTy (const char *anFETypeName) |
OA::OA_ptr< MyDGNode > | GetSuccessor (OA::OA_ptr< MyDGNode > node, bool succIsOutEdge) |
OA::OA_ptr< MyDGNode > | GetSuccessorAlongEdge (OA::OA_ptr< MyDGNode > node, unsigned int condition, bool succIsOutEdge) |
static std::string | DumpDotGraph_GetNodeName (OA::OA_ptr< MyDGNode > n) |
void | DDumpDotGraph (OA::OA_ptr< OA::DGraph::DGraphInterface > graph) |
void | DumpDotGraph (std::ostream &os, OA::OA_ptr< OA::DGraph::DGraphInterface > graph) |
void | TranslateIR (PU_Info *pu_forest, const xercesc::DOMDocument *doc) |
WN * | CreateParm (WN *arg, UINT32 flag) |
static void | XercesPrintNode (std::ostream &os, const DOMNode *n, int iter) |
static void | XercesPrintTree (std::ostream &os, const DOMNode *n, int ilevel) |
void | XercesPrintNode (std::ostream &os, const DOMNode *n) |
void | XercesPrintTree (std::ostream &os, const DOMNode *n) |
std::ostream & | operator<< (std::ostream &os, const DOMElement &elem) |
void | XercesDumpNode (const DOMNode *n) |
void | XercesDumpTree (const DOMNode *n) |
void | XercesDumpNode (void *n) |
void | XercesDumpTree (void *n) |
DOMElement * | GetFirstChildElement (const DOMNode *n) |
DOMElement * | GetLastChildElement (const DOMNode *n) |
DOMElement * | GetChildElement (const DOMNode *n, const XMLCh *name) |
DOMElement * | GetChildElement (const DOMNode *n, const DOMNodeFilter *filter) |
unsigned int | GetChildElementCount (const DOMNode *n) |
DOMElement * | GetPrevSiblingElement (const DOMNode *n) |
DOMElement * | GetNextSiblingElement (const DOMNode *n) |
DOMElement * | GetNextSiblingElement (const DOMNode *n, const XMLCh *name) |
DOMElement * | GetNextSiblingElement (const DOMNode *n, const DOMNodeFilter *filter) |
void | XercesPrintNode (std::ostream &os, const xercesc::DOMNode *n) |
void | XercesPrintTree (std::ostream &os, const xercesc::DOMNode *n) |
std::ostream & | operator<< (std::ostream &os, const xercesc::DOMElement &elem) |
void | XercesDumpNode (const xercesc::DOMNode *n) |
void | XercesDumpTree (const xercesc::DOMNode *n) |
xercesc::DOMElement * | GetFirstChildElement (const xercesc::DOMNode *n) |
xercesc::DOMElement * | GetLastChildElement (const xercesc::DOMNode *n) |
xercesc::DOMElement * | GetChildElement (const xercesc::DOMNode *n, const XMLCh *name) |
xercesc::DOMElement * | GetChildElement (const xercesc::DOMNode *n, const xercesc::DOMNodeFilter *filter) |
unsigned int | GetChildElementCount (const xercesc::DOMNode *n) |
xercesc::DOMElement * | GetPrevSiblingElement (const xercesc::DOMNode *n) |
xercesc::DOMElement * | GetNextSiblingElement (const xercesc::DOMNode *n) |
xercesc::DOMElement * | GetNextSiblingElement (const xercesc::DOMNode *n, const XMLCh *name) |
xercesc::DOMElement * | GetNextSiblingElement (const xercesc::DOMNode *n, const xercesc::DOMNodeFilter *filter) |
std::ostream & | operator<< (std::ostream &os, const XMLCh *const toDump) |
std::ostream & | operator<< (std::ostream &os, const XercesStrX &toDump) |
bool | conversionToReal (fortTkSupport::IntrinsicXlationTable::WHIRLInfo &info) |
typedef std::map<std::string, OA::OA_ptr<MyDGNode> > xaif2whirl::VertexIdToMyDGNodeMap |
Definition at line 185 of file xaif2whirl.h.
Enumerator | |
---|---|
ALG_NULL | |
ALG_BB_PATCHING |
Definition at line 25 of file xaif2whirl.h.
bool xaif2whirl::conversionToReal | ( | fortTkSupport::IntrinsicXlationTable::WHIRLInfo & | info) |
Definition at line 372 of file XlateExpression.cxx.
References fortTkSupport::IntrinsicXlationTable::WHIRLInfo::name, fortTkSupport::IntrinsicXlationTable::WHIRLInfo::opr, and OPR_CALL.
Referenced by xaif2whirl::XlateExpression::xlate_ExprOpUsingIntrinsicTable().
Definition at line 2362 of file xaif2whirl.cxx.
References CLASS_VAR, Clear_FLD_last_field(), EXPORT_LOCAL, FLD_Init(), GLOBAL_SYMTAB, KIND_STRUCT, MTYPE_M, New_FLD(), New_ST(), New_TY(), NULL, Save_Str(), SCLASS_COMMON, Set_FLD_last_field(), Set_ST_base(), Set_ST_ofst(), Set_TY_fld(), Set_TY_size(), ST_Init(), ST_name(), ST_type(), TY_Init(), and TY_size().
|
static |
Definition at line 2622 of file xaif2whirl.cxx.
References ConvertStructMemberToActiveType(), For_all_until(), FORTTK_ASSERT, NULL, OPERATOR_has_field_id(), OPR_ISTORE, OPR_STRCTFLD, TY_Is_Array(), TY_is_external(), Ty_Table, WN_field_id(), WN_GetBaseObjType(), WN_GetRefObjType(), WN_kid0(), WN_kid1(), and WN_operator().
Referenced by xlate_Symbol().
|
static |
Definition at line 2576 of file xaif2whirl.cxx.
References ActiveTypeTyIdx, Copy_TY(), FLD_HANDLE::Entry(), FLD_get_to_field(), FORTTK_ASSERT, KIND_ARRAY, KIND_POINTER, Make_Pointer_Type(), Set_FLD_type(), Set_TY_etype(), Set_TY_pointed(), TY_kind(), TY_name(), TY_pointed(), and FLD::type.
Referenced by ConvertScalarizedRefToActiveType(), and xaif2whirl::ConvertModuleTypeFctr::operator()().
|
static |
Definition at line 2447 of file xaif2whirl.cxx.
References ActiveTypeInitializedTyIdx, ActiveTypeTyIdx, Copy_TY(), Find_INITO_For_Symbol(), FORTTK_DIE, FORTTK_WMSG, FLD_HANDLE::Is_Null(), KIND_ARRAY, KIND_POINTER, KIND_SCALAR, Make_Pointer_Type(), Set_FLD_type(), Set_ST_type(), Set_TY_etype(), ST_base(), ST_is_equivalenced(), ST_is_initialized(), ST_name(), ST_ofst(), ST_type(), Stab_Is_Common_Block(), Stab_Is_Equivalence_Block(), Stab_Is_Valid_Base(), TY_etype(), TY_kind(), TY_Lookup_FLD(), and TY_pointed().
Referenced by xlate_Symbol().
WN * xaif2whirl::CreateBoolConst | ( | unsigned int | val) |
Definition at line 2145 of file xaif2whirl.cxx.
References Enter_tcon(), Host_To_Targ(), MTYPE_B, MTYPE_To_TY, New_Const_Sym(), OPC_I4CONST, Set_TY_is_logical(), ST_type(), TCON_ty, and WN_CreateConst().
Referenced by xaif2whirl::XlateExpression::translateConstant().
Definition at line 2079 of file xaif2whirl.cxx.
References Gen_Intrinsic_Function(), Make_Function_Type(), MTYPE_To_TY, MTYPE_V, WN_Call, and WN_Set_Call_Default_Flags.
Referenced by CreateCallToIntrin(), xaif2whirl::XlateExpression::createDerivSelector(), xaif2whirl::XlateExpression::createValueSelector(), xaif2whirl::XlateStmt::xlate_DecDeriv(), xaif2whirl::XlateExpression::xlate_ExprOpUsingIntrinsicTable(), xaif2whirl::XlateStmt::xlate_IncDeriv(), xaif2whirl::XlateStmt::xlate_InlinableSubroutineCall(), xaif2whirl::XlateStmt::xlate_Saxpy(), xaif2whirl::XlateStmt::xlate_SetDeriv(), xaif2whirl::XlateStmt::xlate_SetNegDeriv(), and xaif2whirl::XlateStmt::xlate_ZeroDeriv().
WN * xaif2whirl::CreateCallToIntrin | ( | TYPE_ID | rtype, |
const char * | fname, | ||
std::vector< WN * > & | args | ||
) |
Definition at line 2095 of file xaif2whirl.cxx.
References CreateCallToIntrin(), CreateParm(), INTRN_SCAN, OPC_I4INTCONST, TY_Is_Character_Reference(), TY_Is_Chararray_Reference(), WN_actual, WN_CreateIntconst(), WN_intrinsic(), WN_PARM_BY_REFERENCE, WN_PARM_BY_VALUE, and WN_Tree_Type().
|
static |
Definition at line 2843 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_source_x(), XAIFStringRepository::attr_target_x(), XAIFStringRepository::attr_Vid_x(), xaif2whirl::XercesStrX::c_str(), FORTTK_ASSERT, GetChildElement(), GetNextSiblingElement(), xaif2whirl::XAIF_BBElemFilter::IsEdge(), NULL, OA::OA_ptr< T >::ptrEqual(), xaif2whirl::MyDGNode::resetIds(), and XAIFStrings.
Referenced by TranslateCFG().
Definition at line 2183 of file xaif2whirl.cxx.
References Boolean_type, OPERATOR_is_load(), TY_is_logical(), WN_NE, WN_operator(), WN_Tree_Type(), and WN_Zerocon().
Referenced by xlate_CFGstruct(), and xlate_CFGunstruct().
WN * xaif2whirl::CreateIntrinsicCall | ( | OPERATOR | opr, |
INTRINSIC | intrn, | ||
TYPE_ID | rtype, | ||
TYPE_ID | dtype, | ||
std::vector< WN * > & | args | ||
) |
Definition at line 2128 of file xaif2whirl.cxx.
References WN_Create_Intrinsic().
Referenced by xaif2whirl::XlateExpression::xlate_ExprOpUsingIntrinsicTable().
|
static |
Definition at line 2162 of file xaif2whirl.cxx.
References WN_CreateComment().
Referenced by TranslateCFG().
|
static |
Definition at line 2172 of file xaif2whirl.cxx.
References WN_CreateComment().
Referenced by TranslateCFG().
Definition at line 175 of file xaif2whirl.h.
References MTYPE_To_TY, WN_CreateParm(), and WN_rtype().
Referenced by CreateCallToIntrin(), xaif2whirl::XlateExpression::createDerivSelector(), xaif2whirl::XlateExpression::createValueSelector(), xaif2whirl::XlateStmt::xlate_DecDeriv(), xaif2whirl::XlateStmt::xlate_IncDeriv(), xaif2whirl::XlateStmt::xlate_Saxpy(), xaif2whirl::XlateStmt::xlate_SetDeriv(), xaif2whirl::XlateStmt::xlate_SetNegDeriv(), xaif2whirl::XlateStmt::xlate_SubroutineCall(), and xaif2whirl::XlateStmt::xlate_ZeroDeriv().
|
static |
Definition at line 2200 of file xaif2whirl.cxx.
References ActiveTypeTyIdx, XAIFStringRepository::attr_feType_x(), XAIFStringRepository::attr_kind_x(), XAIFStringRepository::attr_lower_x(), XAIFStringRepository::attr_shape_x(), XAIFStringRepository::attr_type_x(), XAIFStringRepository::attr_upper_x(), xaif2whirl::XercesStrX::c_str(), CLASS_VAR, Copy_ST(), EXPORT_LOCAL, EXPORT_LOCAL_INTERNAL, fortTkSupport::XAIFSymToSymbolMap::Find(), FORTTK_ASSERT, FORTTK_DIE, GetActiveAttr(), GetChildElement(), GetNextSiblingElement(), xaif2whirl::PUXlationContext::getPrefix(), fortTkSupport::Symbol::GetST(), GLOBAL_SYMTAB, kind, MY_Make_Array_Type(), New_ST(), NULL, Save_Str(), SCLASS_AUTO, SCLASS_COMMON, Set_ST_is_allocatable(), Set_ST_name_idx(), ST_Init(), ST_name(), fortTkSupport::Diagnostics::Unimplemented, XAIFFETypeToWHIRLMTy(), XAIFStrings, and XAIFTyToWHIRLTy().
Referenced by xlate_Symbol().
void xaif2whirl::DDumpDotGraph | ( | OA::OA_ptr< OA::DGraph::DGraphInterface > | graph) |
Definition at line 2898 of file xaif2whirl.cxx.
References DumpDotGraph().
void xaif2whirl::DeclareActiveTypes | ( | ) |
Definition at line 2414 of file xaif2whirl.cxx.
References ActiveTypeInitializedTyIdx, ActiveTypeTyIdx, KIND_SCALAR, MTYPE_F8, New_TY(), Args::ourActiveTypeNm, Args::ourActiveTypeNmLength, Save_Str(), Set_TY_align(), Set_TY_is_external(), and TY_Init().
Referenced by xaif2whirl::XAIF_SAXHandler::initialize().
void xaif2whirl::DumpDotGraph | ( | std::ostream & | os, |
OA::OA_ptr< OA::DGraph::DGraphInterface > | graph | ||
) |
Definition at line 2904 of file xaif2whirl.cxx.
References OA::OA_ptr< T >::convert(), DumpDotGraph_GetNodeName(), OA::DGraph::DGraphInterface::getEdgesIterator(), OA::DGraph::EdgeInterface::getSink(), and OA::DGraph::EdgeInterface::getSource().
Referenced by DDumpDotGraph().
|
static |
Definition at line 2930 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_Vid_x(), xaif2whirl::XercesStrX::c_str(), xaif2whirl::MyDGNode::GetElem(), xaif2whirl::MyDGNode::getId(), name, Num2Str(), and XAIFStrings.
Referenced by DumpDotGraph().
|
static |
Definition at line 1540 of file xaif2whirl.cxx.
References fortTkSupport::BaseMap< FromTy, ToTy >::Find(), FORTTK_ASSERT, FORTTK_DIE, GetNextSiblingElement(), GetPrevSiblingElement(), GetWNId(), xaif2whirl::XAIF_BBStmtElemFilter::IsMarker(), NULL, OPC_I4INTCONST, WN_CreateAssert(), WN_CreateIntconst(), WN_INSERT_BlockAfter(), WN_next(), and WN_prev().
Referenced by FindNextStmtInterval().
|
static |
Definition at line 1465 of file xaif2whirl.cxx.
References XAIFStringRepository::elem_Marker_x(), FindIntervalBoundary(), GetFirstChildElement(), GetLastChildElement(), GetNextSiblingElement(), GetPrevSiblingElement(), GetWNId(), xaif2whirl::XAIF_BBStmtElemFilter::IsMarker(), NULL, and XAIFStrings.
Referenced by xlate_BasicBlock_OLD().
Definition at line 1634 of file xaif2whirl.cxx.
References NULL, OPC_I4INTCONST, WN_CreateAssert(), WN_CreateIntconst(), WN_INSERT_BlockBefore(), and WN_prev().
Referenced by xlate_BasicBlock_OLD().
|
static |
Definition at line 1612 of file xaif2whirl.cxx.
References xaif2whirl::PUXlationContext::findParentBlockWN(), xaif2whirl::PUXlationContext::findWN(), and NULL.
Referenced by TranslateBasicBlock(), and xlate_BasicBlock_OLD().
bool xaif2whirl::GetActiveAttr | ( | const xercesc::DOMElement * | elem) |
Definition at line 1897 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_active_x(), GetBoolAttr(), and XAIFStrings.
Referenced by CreateST(), and xlate_Symbol().
bool xaif2whirl::GetBoolAttr | ( | const xercesc::DOMElement * | elem, |
XMLCh * | attr, | ||
bool | default_val | ||
) |
Definition at line 1846 of file xaif2whirl.cxx.
References xaif2whirl::XercesStrX::c_str().
Referenced by GetActiveAttr(), GetDerivAttr(), GetHasConditionAttr(), TranslateCFG(), and xlate_Symbol().
xercesc::DOMElement* xaif2whirl::GetChildElement | ( | const xercesc::DOMNode * | n, |
const XMLCh * | name | ||
) |
xercesc::DOMElement* xaif2whirl::GetChildElement | ( | const xercesc::DOMNode * | n, |
const xercesc::DOMNodeFilter * | filter | ||
) |
DOMElement* xaif2whirl::GetChildElement | ( | const DOMNode * | n, |
const XMLCh * | name | ||
) |
Definition at line 177 of file XAIF_DOMFilters.cxx.
References filter().
Referenced by CreateCFGraph(), CreateST(), xaif2whirl::XAIF_SAXHandler::endElement(), xaif2whirl::XlateStmt::translateAssignmentSimple(), TranslateBasicBlock(), TranslateCFG(), xaif2whirl::XlateStmt::xlate_Assignment(), xlate_BBCond_OLD(), xlate_CFGstruct(), xlate_CFGunstruct(), xaif2whirl::XlateStmt::xlate_DecDeriv(), xaif2whirl::XlateStmt::xlate_DerivativePropagator(), xaif2whirl::XlateStmt::xlate_IncDeriv(), xaif2whirl::XlateStmt::xlate_Saxpy(), xaif2whirl::XlateStmt::xlate_SetDeriv(), xaif2whirl::XlateStmt::xlate_SetNegDeriv(), and xlate_SymbolTable().
DOMElement* xaif2whirl::GetChildElement | ( | const DOMNode * | n, |
const DOMNodeFilter * | filter | ||
) |
Definition at line 186 of file XAIF_DOMFilters.cxx.
References NULL.
unsigned int xaif2whirl::GetChildElementCount | ( | const xercesc::DOMNode * | n) |
unsigned int xaif2whirl::GetChildElementCount | ( | const DOMNode * | n) |
Definition at line 205 of file XAIF_DOMFilters.cxx.
Referenced by xaif2whirl::XlateExpression::xlate_ArrayElementReference(), xaif2whirl::XlateStmt::xlate_InlinableSubroutineCall(), and xaif2whirl::XlateStmt::xlate_Saxpy().
unsigned int xaif2whirl::GetCondAttr | ( | const xercesc::DOMElement * | elem) |
Definition at line 1886 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_condval_x(), GetHasConditionAttr(), GetIntAttr(), val, and XAIFStrings.
Referenced by getOrderedSinkNodesList(), GetSuccessorAlongEdge(), xaif2whirl::sort_CondVal::operator()(), and xlate_CFG_BranchMulti().
bool xaif2whirl::GetDerivAttr | ( | const xercesc::DOMElement * | elem) |
Definition at line 1904 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_deriv_x(), GetBoolAttr(), and XAIFStrings.
Referenced by xaif2whirl::XlateStmt::xlate_AssignmentLHS(), xaif2whirl::XlateStmt::xlate_DecDeriv(), xaif2whirl::XlateStmt::xlate_IncDeriv(), xaif2whirl::XlateStmt::xlate_Saxpy(), xaif2whirl::XlateStmt::xlate_SetDeriv(), and xaif2whirl::XlateStmt::xlate_SetNegDeriv().
xercesc::DOMElement* xaif2whirl::GetFirstChildElement | ( | const xercesc::DOMNode * | n) |
DOMElement* xaif2whirl::GetFirstChildElement | ( | const DOMNode * | n) |
Definition at line 141 of file XAIF_DOMFilters.cxx.
References NULL.
Referenced by FindNextStmtInterval(), xaif2whirl::XlateStmt::translateAssignmentSimple(), xaif2whirl::XlateExpression::xlate_ArrayElementReference(), xaif2whirl::XlateStmt::xlate_AssignmentLHS(), xaif2whirl::XlateStmt::xlate_AssignmentRHS(), xlate_BasicBlock_OLD(), xlate_CFGstruct(), xlate_CFGunstruct(), xaif2whirl::XlateStmt::xlate_DecDeriv(), xaif2whirl::XlateStmt::xlate_IncDeriv(), xaif2whirl::XlateStmt::xlate_InlinableSubroutineCall(), xaif2whirl::XlateStmt::xlate_Saxpy(), xlate_Scope(), xaif2whirl::XlateStmt::xlate_SetDeriv(), xaif2whirl::XlateStmt::xlate_SetNegDeriv(), and xaif2whirl::XlateStmt::xlate_SubroutineCall().
bool xaif2whirl::GetHasConditionAttr | ( | const xercesc::DOMElement * | elem) |
Definition at line 1879 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_hasCondval_x(), GetBoolAttr(), and XAIFStrings.
Referenced by GetCondAttr(), getOrderedSinkNodesList(), and xlate_CFG_BranchMulti().
T xaif2whirl::GetId | ( | const xercesc::DOMElement * | elem, |
const char * | tag | ||
) |
Definition at line 1991 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_annot_x(), xaif2whirl::XercesStrX::c_str(), NULL, and XAIFStrings.
T xaif2whirl::GetId | ( | const char * | idstr, |
const char * | tag | ||
) |
Definition at line 2016 of file xaif2whirl.cxx.
References FORTTK_ASSERT, NULL, XAIFStringRepository::tag_End(), and XAIFStrings.
fortTkSupport::IdList< T > * xaif2whirl::GetIdList | ( | const xercesc::DOMElement * | elem, |
const char * | tag | ||
) |
Definition at line 2003 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_annot_x(), xaif2whirl::XercesStrX::c_str(), NULL, and XAIFStrings.
fortTkSupport::IdList< T > * xaif2whirl::GetIdList | ( | const char * | idstr, |
const char * | tag | ||
) |
Definition at line 2038 of file xaif2whirl.cxx.
References FORTTK_ASSERT, NULL, XAIFStringRepository::tag_End(), and XAIFStrings.
int xaif2whirl::GetIntAttr | ( | const xercesc::DOMElement * | elem, |
XMLCh * | attr, | ||
int | default_val | ||
) |
Definition at line 1865 of file xaif2whirl.cxx.
References xaif2whirl::XercesStrX::c_str(), and NULL.
Referenced by GetCondAttr(), GetPositionAttr(), and xaif2whirl::XlateStmt::xlate_SubroutineCall().
std::string xaif2whirl::GetIntrinsicKey | ( | const xercesc::DOMElement * | elem) |
Definition at line 1962 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_annot_x(), xaif2whirl::XercesStrX::c_str(), end, NULL, XAIFStringRepository::tag_End(), XAIFStringRepository::tag_IntrinsicKey(), and XAIFStrings.
Referenced by xaif2whirl::XlateExpression::xlate_Intrinsic().
xercesc::DOMElement* xaif2whirl::GetLastChildElement | ( | const xercesc::DOMNode * | n) |
DOMElement* xaif2whirl::GetLastChildElement | ( | const DOMNode * | n) |
Definition at line 159 of file XAIF_DOMFilters.cxx.
References NULL.
Referenced by FindNextStmtInterval().
xercesc::DOMElement* xaif2whirl::GetNextSiblingElement | ( | const xercesc::DOMNode * | n) |
xercesc::DOMElement* xaif2whirl::GetNextSiblingElement | ( | const xercesc::DOMNode * | n, |
const XMLCh * | name | ||
) |
xercesc::DOMElement* xaif2whirl::GetNextSiblingElement | ( | const xercesc::DOMNode * | n, |
const xercesc::DOMNodeFilter * | filter | ||
) |
DOMElement* xaif2whirl::GetNextSiblingElement | ( | const DOMNode * | n) |
Definition at line 237 of file XAIF_DOMFilters.cxx.
Referenced by CreateCFGraph(), xaif2whirl::XlateExpression::createExpressionGraph(), CreateST(), xaif2whirl::XAIF_SAXHandler::endElement(), FindIntervalBoundary(), FindNextStmtInterval(), GetNextSiblingElement(), TranslateBasicBlock(), TranslateCFG(), xaif2whirl::XlateExpression::translateVarRefSimple(), xaif2whirl::XlateExpression::xlate_ArrayElementReference(), xlate_BasicBlock_OLD(), xaif2whirl::XlateStmt::xlate_DerivativePropagator(), xaif2whirl::XlateStmt::xlate_InlinableSubroutineCall(), xaif2whirl::XlateStmt::xlate_Saxpy(), xaif2whirl::XlateStmt::xlate_SubroutineCall(), and xlate_SymbolTable().
DOMElement* xaif2whirl::GetNextSiblingElement | ( | const DOMNode * | n, |
const XMLCh * | name | ||
) |
Definition at line 252 of file XAIF_DOMFilters.cxx.
References filter(), and GetNextSiblingElement().
DOMElement* xaif2whirl::GetNextSiblingElement | ( | const DOMNode * | n, |
const DOMNodeFilter * | filter | ||
) |
Definition at line 261 of file XAIF_DOMFilters.cxx.
References GetNextSiblingElement(), OA::n, and NULL.
fortTkSupport::Symbol * xaif2whirl::GetOrCreateBogusTmpSymbol | ( | PUXlationContext & | ctxt) |
Definition at line 1719 of file xaif2whirl.cxx.
References GetOrCreateSymbol().
Referenced by xaif2whirl::XlateStmt::xlate_InlinableSubroutineCall().
fortTkSupport::Symbol * xaif2whirl::GetOrCreateSymbol | ( | const char * | sname, |
PUXlationContext & | ctxt | ||
) |
Definition at line 1695 of file xaif2whirl.cxx.
References CLASS_VAR, EXPORT_LOCAL, fortTkSupport::XAIFSymToSymbolMap::Find(), xaif2whirl::PUXlationContext::getXAIFSymToSymbolMap(), GLOBAL_SYMTAB, fortTkSupport::XAIFSymToSymbolMap::Insert(), MTYPE_F8, MTYPE_To_TY, New_ST(), Save_Str(), SCLASS_AUTO, and ST_Init().
Referenced by GetOrCreateBogusTmpSymbol().
OA::OA_ptr<std::list<OA::OA_ptr<OA::DGraph::NodeInterface> > > xaif2whirl::getOrderedSinkNodesList | ( | OA::OA_ptr< OA::DGraph::DGraphInterface > | cfg, |
OA::OA_ptr< OA::DGraph::NodeInterface > | pNode | ||
) |
for the back translation of unstructured control flow graphs
Definition at line 773 of file xaif2whirl.cxx.
References OA::OA_ptr< T >::convert(), OA::DGraph::EdgesIteratorInterface::current(), GetCondAttr(), xaif2whirl::MyDGNode::GetElem(), xaif2whirl::MyDGEdge::GetElem(), GetHasConditionAttr(), OA::DGraph::NodeInterface::getOutgoingEdgesIterator(), OA::DGraph::EdgeInterface::getSink(), xaif2whirl::XAIF_BBElemFilter::IsBBForLoop(), xaif2whirl::XAIF_BBElemFilter::IsBBPostLoop(), and OA::DGraph::EdgesIteratorInterface::isValid().
Referenced by getReversePostDFSListR().
unsigned int xaif2whirl::GetPositionAttr | ( | const xercesc::DOMElement * | elem) |
Definition at line 1911 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_position_x(), GetIntAttr(), and XAIFStrings.
Referenced by xaif2whirl::XAIFEdgePositionCompare::operator()(), xaif2whirl::XlateStmt::xlate_InlinableSubroutineCall(), and xaif2whirl::XlateStmt::xlate_SubroutineCall().
PREG_IDX xaif2whirl::GetPregId | ( | const xercesc::DOMElement * | elem) |
Definition at line 1982 of file xaif2whirl.cxx.
References XAIFStringRepository::tag_PregId(), and XAIFStrings.
Referenced by xaif2whirl::XlateExpression::xlate_SymbolReference(), and xaif2whirl::XlateExpression::xlate_SymbolReferenceSimple().
xercesc::DOMElement* xaif2whirl::GetPrevSiblingElement | ( | const xercesc::DOMNode * | n) |
DOMElement* xaif2whirl::GetPrevSiblingElement | ( | const DOMNode * | n) |
Definition at line 222 of file XAIF_DOMFilters.cxx.
Referenced by FindIntervalBoundary(), and FindNextStmtInterval().
fortTkSupport::PUId xaif2whirl::GetPUId | ( | const xercesc::DOMElement * | elem) |
Definition at line 1944 of file xaif2whirl.cxx.
References XAIFStringRepository::tag_PUId(), and XAIFStrings.
Referenced by TranslateCFG().
OA::OA_ptr<std::list<OA::OA_ptr<OA::DGraph::NodeInterface> > > xaif2whirl::getReversePostDFSList | ( | OA::OA_ptr< OA::DGraph::DGraphInterface > | cfg) |
for the back translation of unstructured control flow graphs this behaves like normal reversePostDFS order (as it was implemented in OpenAnalysis) with the one exception that we the successor nodes of a given loop node are ordered such that the node to loop successor (not the loop body) comes first in the DFS search (see the logic in getOrderedSinkNodesList). This removes the scenario of an EXIT node being placed in the middle of the list of blocks that are being connected via gotos (which consequently rather than exiting leads to continued execution of the next block that happens to follow the EXIT node in the list).
Definition at line 849 of file xaif2whirl.cxx.
References OA::DGraph::NodesIteratorInterface::current(), OA::DGraph::DGraphInterface::getEntryNodesIterator(), OA::DGraph::DGraphInterface::getNodesIterator(), getReversePostDFSListR(), and OA::DGraph::NodesIteratorInterface::isValid().
Referenced by xlate_CFGunstruct().
void xaif2whirl::getReversePostDFSListR | ( | OA::OA_ptr< OA::DGraph::DGraphInterface > | cfg, |
OA::OA_ptr< OA::DGraph::NodeInterface > | pNode, | ||
std::map< OA::OA_ptr< OA::DGraph::NodeInterface >, bool > & | visitMap, | ||
OA::OA_ptr< std::list< OA::OA_ptr< OA::DGraph::NodeInterface > > > | pList | ||
) |
for the back translation of unstructured control flow graphs
Definition at line 810 of file xaif2whirl.cxx.
References OA::OA_ptr< T >::convert(), xaif2whirl::MyDGNode::GetElem(), getOrderedSinkNodesList(), and OA::n.
Referenced by getReversePostDFSList().
OA::OA_ptr< MyDGNode > xaif2whirl::GetSuccessor | ( | OA::OA_ptr< MyDGNode > | node, |
bool | succIsOutEdge | ||
) |
Definition at line 2775 of file xaif2whirl.cxx.
References OA::OA_ptr< T >::convert(), OA::DGraph::NodesIteratorInterface::current(), FORTTK_DIE, and NULL.
Referenced by xaif2whirl::XlateExpression::xlate_ArrayElementReference(), xlate_CFGstruct(), and xlate_CFGunstruct().
OA::OA_ptr< MyDGNode > xaif2whirl::GetSuccessorAlongEdge | ( | OA::OA_ptr< MyDGNode > | node, |
unsigned int | condition, | ||
bool | succIsOutEdge | ||
) |
Definition at line 2809 of file xaif2whirl.cxx.
References OA::OA_ptr< T >::convert(), OA::DGraph::EdgesIteratorInterface::current(), FORTTK_DIE, GetCondAttr(), OA::DGraph::EdgesIteratorInterface::isValid(), NULL, and fortTkSupport::Diagnostics::Unimplemented.
Referenced by xlate_CFGstruct(), and xlate_CFGunstruct().
fortTkSupport::Symbol * xaif2whirl::GetSymbol | ( | const xercesc::DOMElement * | elem, |
PUXlationContext & | ctxt | ||
) |
Definition at line 1678 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_scopeId_x(), XAIFStringRepository::attr_symId_x(), xaif2whirl::XercesStrX::c_str(), xaif2whirl::PUXlationContext::findSym(), FORTTK_ASSERT, and XAIFStrings.
Referenced by TranslateCFG(), xaif2whirl::XlateStmt::xlate_SubroutineCall(), xaif2whirl::XlateExpression::xlate_SymbolReference(), and xaif2whirl::XlateExpression::xlate_SymbolReferenceSimple().
fortTkSupport::SymId xaif2whirl::GetSymId | ( | const xercesc::DOMElement * | elem) |
Definition at line 1939 of file xaif2whirl.cxx.
References XAIFStringRepository::tag_SymId(), and XAIFStrings.
Referenced by xaif2whirl::XlateStmt::xlate_SubroutineCall(), and xlate_Symbol().
fortTkSupport::SymTabId xaif2whirl::GetSymTabId | ( | const xercesc::DOMElement * | elem) |
Definition at line 1934 of file xaif2whirl.cxx.
References XAIFStringRepository::tag_SymTabId(), and XAIFStrings.
Referenced by xlate_Scope().
fortTkSupport::WNId xaif2whirl::GetWNId | ( | const xercesc::DOMElement * | elem) |
Definition at line 1949 of file xaif2whirl.cxx.
References XAIFStringRepository::tag_WHIRLId(), and XAIFStrings.
Referenced by FindIntervalBoundary(), FindNextStmtInterval(), TranslateBasicBlock(), TranslateCFG(), xlate_BasicBlock_OLD(), and xlate_Symbol().
fortTkSupport::IdList< fortTkSupport::WNId > * xaif2whirl::GetWNIdList | ( | const xercesc::DOMElement * | elem) |
Definition at line 1955 of file xaif2whirl.cxx.
References XAIFStringRepository::tag_WHIRLId(), and XAIFStrings.
Referenced by TranslateBasicBlock(), xlate_BasicBlock_OLD(), and xlate_BBCond_OLD().
bool xaif2whirl::IsTagPresent | ( | const xercesc::DOMElement * | elem, |
const char * | tag | ||
) |
Definition at line 1918 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_annot_x(), xaif2whirl::XercesStrX::c_str(), NULL, and XAIFStrings.
Referenced by TranslateBasicBlock().
bool xaif2whirl::IsTagPresent | ( | const char * | annotstr, |
const char * | tag | ||
) |
Definition at line 1928 of file xaif2whirl.cxx.
References NULL.
|
static |
|
static |
Definition at line 177 of file main.cxx.
References xaif2whirl::XAIF_SAXHandler::deleteParser(), FORTTK_ASSERT, FORTTK_MSG, fortTkSupport::BaseException::GetMessage(), xaif2whirl::XAIF_SAXHandler::getParserErrorStatus(), xaif2whirl::XAIF_SAXHandler::initialize(), and xaif2whirl::XAIF_SAXHandler::parse().
Referenced by real_main().
|
static |
Definition at line 2699 of file xaif2whirl.cxx.
References ARB_EMPTY_LBND, ARB_EMPTY_STRIDE, ARB_EMPTY_UBND, ARB_Init(), ARB::co_dimension, ARB::dimension, ARB_HANDLE::Entry(), ARB::flags, FORTTK_ASSERT, KIND_ARRAY, ARB::lbnd_val, MTYPE_UNKNOWN, New_ARB(), New_TY(), Set_ARB_dimension(), Set_ARB_first_dimen(), Set_ARB_last_dimen(), Set_TY_align(), Set_TY_arb(), Set_TY_etype(), ARB::stride_val, TY_align(), TY_Init(), TY_name(), TY_size(), ARB::u1, ARB::u2, ARB::u3, ARB::ubnd_val, and ARB::unused.
Referenced by CreateST().
std::ostream& xaif2whirl::operator<< | ( | std::ostream & | os, |
const xercesc::DOMElement & | elem | ||
) |
|
inline |
Definition at line 42 of file XercesStrX.h.
References xaif2whirl::XercesStrX::DumpXMLStr().
std::ostream& xaif2whirl::operator<< | ( | std::ostream & | os, |
const DOMElement & | elem | ||
) |
Definition at line 47 of file XAIF_DOMFilters.cxx.
References XercesPrintNode().
|
inline |
Definition at line 49 of file XercesStrX.h.
References xaif2whirl::XercesStrX::c_str().
|
static |
Definition at line 88 of file main.cxx.
References Args::algorithm, Cleanup_Files(), InterfaceData::collect(), Configure(), Configure_Source(), Args::debug, Diag_Exit(), Diag_Init(), Diag_Set_Max_Diags(), Diag_Set_Phase(), AdjustInterfaces::doIt(), xaif2whirl::AdjustFunctions::doIt(), InterfaceData::dump(), ERROR_LINE_UNKNOWN, FALSE, Get_Error_Count(), Get_Trace(), fortTkSupport::Diagnostics::getDiagnosticFilterLevel(), Had_Internal_Error(), Handle_Signals(), Init_Error_Handler(), Init_Operator_To_Opcode_Table(), Args::inWhirlFileNm, IR_set_dump_order(), main_SAX(), MEM_Initialize(), MEM_Tracing_Enable(), Args::myNoCleanUpFlag, NULL, opt_algorithm, Args::outWhirlFileNm, Preconfigure(), PrepareIR(), RC_INTERNAL_ERROR, RC_NORECOVER_USER_ERROR, RC_OKAY, ReadIR(), Set_Error_File(), Set_Error_Line(), Set_Error_Phase(), fortTkSupport::Diagnostics::setDiagnosticFilterLevel(), Terminate(), TKIND_ALLOC, TP_MISC, TRUE, Args::validate, WN_Simplifier_Enable(), WriteIR(), Args::xaifFileNm, XAIFStrings, XercesFini(), XercesInit(), and XAIFStringRepository::XMLInitialize().
Referenced by main().
|
static |
Definition at line 1655 of file xaif2whirl.cxx.
References WN_TREE_CONTAINER< order >::begin(), WN_TREE_CONTAINER< order >::end(), and WN_TREE_ITER_base< WHIRL >::Wn().
Referenced by xlate_BasicBlock_OLD().
|
static |
Definition at line 1247 of file xaif2whirl.cxx.
References xaif2whirl::PUXlationContext::findWN(), FindWNBlock(), FORTTK_ASSERT, GetChildElement(), GetNextSiblingElement(), GetWNId(), GetWNIdList(), xaif2whirl::XAIF_BBStmtElemFilter::IsMarker(), IsTagPresent(), NULL, xaif2whirl::XlateStmt::patchWNStmt(), XAIFStringRepository::tag_StmtGoto(), XAIFStringRepository::tag_StmtLabel(), XAIFStringRepository::tag_StmtReturn(), xaif2whirl::XlateStmt::translateStmt(), WN_COPY_Tree(), WN_CreateBlock(), WN_CreateGoto(), WN_INSERT_BlockLast, and XAIFStrings.
Referenced by xlate_CFG_BasicBlock().
|
static |
Definition at line 1305 of file xaif2whirl.cxx.
References xaif2whirl::XAIF_BBElemFilter::IsBB(), xaif2whirl::XAIF_BBElemFilter::IsBBBranch(), xaif2whirl::XAIF_BBElemFilter::IsBBForLoop(), xaif2whirl::XAIF_BBElemFilter::IsBBPostLoop(), xaif2whirl::XAIF_BBElemFilter::IsBBPreLoop(), xlate_BasicBlock_OLD(), and xlate_BBCond_OLD().
Referenced by TranslateCFG().
|
static |
Definition at line 361 of file xaif2whirl.cxx.
References ALG_BB_PATCHING, XAIFStringRepository::attr_intent_x(), XAIFStringRepository::attr_placeholder_x(), XAIFStringRepository::attr_structured_x(), xaif2whirl::XercesStrX::c_str(), Clear_ST_is_intent_in_argument(), Clear_ST_is_intent_out_argument(), OA::OA_ptr< T >::convert(), CreateCFGraph(), CreateOpenADReplacementBeg(), CreateOpenADReplacementEnd(), fortTkSupport::CreateWhirlIdMaps(), OA::DGraph::NodesIteratorInterface::current(), Current_PU_Info, XAIFStringRepository::elem_ArgList_x(), XAIFStringRepository::elem_ArgSymRef_x(), XAIFStringRepository::elem_Replacement_x(), filter(), fortTkSupport::BaseMap< FromTy, ToTy >::Find(), xaif2whirl::PUXlationContext::findWN(), FORTTK_DIE, GetBoolAttr(), GetChildElement(), OA::DGraph::DGraphInterface::getEntryNodesIterator(), GetNextSiblingElement(), fortTkSupport::Symbol::GetST(), GetSymbol(), GetWNId(), xaif2whirl::XAIF_CFGElemFilter::IsReplaceList(), xaif2whirl::XAIF_CFGElemFilter::IsReplacement(), OA::DGraph::NodesIteratorInterface::isValid(), NULL, opt_algorithm, Set_ST_is_intent_in_argument(), Set_ST_is_intent_out_argument(), xaif2whirl::PUXlationContext::setWNIdToWNMap(), xaif2whirl::PUXlationContext::setWNParentMap(), xaif2whirl::PUXlationContext::setWNToWNIdMap(), TranslateBB_OLD(), WN_CreateBlock(), WN_Delete, WN_DELETE_FromBlock(), WN_EXTRACT_FromBlock(), WN_first(), WN_func_body, WN_INSERT_BlockFirst, WN_INSERT_BlockLast, WN_next(), WN_Set_Parm_By_Reference, WN_Set_Parm_In, WN_Set_Parm_Out, WNIdToWNTableMap, XAIFStrings, and xlate_CFG().
Referenced by xaif2whirl::XAIF_SAXHandler::endElement(), and TranslateCFG().
void xaif2whirl::TranslateCFG | ( | PU_Info * | pu_forest, |
const xercesc::DOMElement * | cfgElem, | ||
PUXlationContext & | ctxt | ||
) |
Translate XAIF CFG or XAIF Replacement to WHIRL
Definition at line 246 of file xaif2whirl.cxx.
References fdump_tree(), InterfaceData::findAndAdjustInterface(), xaif2whirl::PUXlationContext::findPU(), FORTTK_ASSERT, FORTTK_MSG, InterfaceData::getParentOf(), GetPUId(), fortTkSupport::Symbol::GetST(), GetSymbol(), IsActivePU(), PU_Info_proc_sym, PU_Info_tree_ptr, PU_lexical_level(), PU_SetGlobalState(), Pu_Table, ST_is_in_module(), ST_name(), ST_ptr(), ST_pu(), ST_st_idx(), TranslateCFG(), and WN_st_idx().
void xaif2whirl::TranslateIR | ( | PU_Info * | pu_forest, |
const xercesc::DOMDocument * | doc | ||
) |
|
static |
Definition at line 2671 of file xaif2whirl.cxx.
References FALSE, FLD_last_field(), FLD_ofst(), FLD_type(), Make_fld_iter(), Stab_Identical_Types(), TRUE, and TY_fld().
Referenced by ConvertToActiveType().
TYPE_ID xaif2whirl::XAIFFETypeToWHIRLMTy | ( | const char * | anFETypeName) |
Definition at line 2763 of file xaif2whirl.cxx.
References MTYPE_UNKNOWN, and Name_To_Mtype().
Referenced by CreateST(), and xaif2whirl::XlateExpression::translateConstant().
Definition at line 2744 of file xaif2whirl.cxx.
References FORTTK_DIE, MTYPE_To_TY, MTYPE_UNKNOWN, Args::ourDefaultMTypeInt, Args::ourDefaultMTypeReal, and fortTkSupport::Diagnostics::Unimplemented.
Referenced by CreateST().
void xaif2whirl::XercesDumpNode | ( | const xercesc::DOMNode * | n) |
void xaif2whirl::XercesDumpNode | ( | const DOMNode * | n) |
Definition at line 55 of file XAIF_DOMFilters.cxx.
References XercesPrintNode().
Referenced by XercesDumpNode().
void xaif2whirl::XercesDumpNode | ( | void * | n) |
Definition at line 69 of file XAIF_DOMFilters.cxx.
References XercesDumpNode().
void xaif2whirl::XercesDumpTree | ( | const xercesc::DOMNode * | n) |
void xaif2whirl::XercesDumpTree | ( | const DOMNode * | n) |
Definition at line 62 of file XAIF_DOMFilters.cxx.
References XercesPrintTree().
Referenced by XercesDumpTree().
void xaif2whirl::XercesDumpTree | ( | void * | n) |
Definition at line 76 of file XAIF_DOMFilters.cxx.
References XercesDumpTree().
|
static |
Definition at line 234 of file main.cxx.
References Terminate().
Referenced by real_main().
|
static |
Definition at line 218 of file main.cxx.
Referenced by real_main().
void xaif2whirl::XercesPrintNode | ( | std::ostream & | os, |
const xercesc::DOMNode * | n | ||
) |
|
static |
Definition at line 83 of file XAIF_DOMFilters.cxx.
Referenced by operator<<(), XercesDumpNode(), XercesPrintNode(), and XercesPrintTree().
void xaif2whirl::XercesPrintNode | ( | std::ostream & | os, |
const DOMNode * | n | ||
) |
Definition at line 31 of file XAIF_DOMFilters.cxx.
References XercesPrintNode().
void xaif2whirl::XercesPrintTree | ( | std::ostream & | os, |
const xercesc::DOMNode * | n | ||
) |
|
static |
Definition at line 119 of file XAIF_DOMFilters.cxx.
References XercesPrintNode().
Referenced by XercesDumpTree(), and XercesPrintTree().
void xaif2whirl::XercesPrintTree | ( | std::ostream & | os, |
const DOMNode * | n | ||
) |
Definition at line 39 of file XAIF_DOMFilters.cxx.
References XercesPrintTree().
|
static |
Definition at line 1325 of file xaif2whirl.cxx.
References XAIFStringRepository::elem_Marker_x(), FindNextStmtInterval(), FindSafeInsertionPoint(), xaif2whirl::PUXlationContext::findWN(), FindWNBlock(), FORTTK_ASSERT, GetFirstChildElement(), GetNextSiblingElement(), GetWNId(), GetWNIdList(), xaif2whirl::PUXlationContext::getWNIdToWNMap(), xaif2whirl::PUXlationContext::getWNToWNIdMap(), NULL, OPR_BLOCK, xaif2whirl::XlateStmt::patchWNStmt(), RemoveFromWhirlIdMaps(), xaif2whirl::XlateStmt::translateStmt(), WN_DELETE_FromBlock(), WN_INSERT_BlockAfter(), WN_last(), WN_next(), WN_operator(), and XAIFStrings.
Referenced by TranslateBB_OLD().
|
static |
Definition at line 1398 of file xaif2whirl.cxx.
References XAIFStringRepository::elem_Condition_x(), xaif2whirl::PUXlationContext::findWN(), FORTTK_ASSERT, FORTTK_DIE, GetChildElement(), GetWNIdList(), OPERATOR_name(), OPR_DO_WHILE, OPR_FALSEBR, OPR_IF, OPR_SWITCH, OPR_TRUEBR, OPR_WHILE_DO, xaif2whirl::XlateExpression::patchWNExpr(), fortTkSupport::Diagnostics::UnexpectedOpr, WN_operator(), and XAIFStrings.
Referenced by TranslateBB_OLD().
|
static |
Referenced by TranslateCFG().
|
static |
Definition at line 535 of file xaif2whirl.cxx.
References WN::first, NULL, xlate_CFGstruct(), and xlate_CFGunstruct().
|
static |
Definition at line 1169 of file xaif2whirl.cxx.
References xaif2whirl::MyDGNode::GetElem(), NULL, TranslateBasicBlock(), WN_CreateGoto(), WN_CreateLabel(), WN_INSERT_BlockFirst, and WN_INSERT_BlockLast.
Referenced by xlate_CFGstruct(), and xlate_CFGunstruct().
|
static |
Definition at line 1205 of file xaif2whirl.cxx.
References OA::OA_ptr< T >::convert(), GetCondAttr(), GetHasConditionAttr(), OA::n, NULL, WN_CreateBlock(), WN_CreateCasegoto(), WN_CreateGoto(), WN_CreateSwitch(), and WN_INSERT_BlockLast.
Referenced by xlate_CFGstruct(), and xlate_CFGunstruct().
|
static |
Definition at line 560 of file xaif2whirl.cxx.
References OA::OA_ptr< T >::convert(), CreateIfCondition(), OA::DGraph::EdgesIteratorInterface::current(), XAIFStringRepository::elem_Condition_x(), XAIFStringRepository::elem_LpInit_x(), XAIFStringRepository::elem_LpUpdate_x(), WN::first, FORTTK_DIE, GetChildElement(), GetFirstChildElement(), OA::DGraph::DGraphInterface::getNodesIterator(), GetSuccessor(), GetSuccessorAlongEdge(), xaif2whirl::XAIF_BBElemFilter::IsBB(), xaif2whirl::XAIF_BBElemFilter::IsBBBranch(), xaif2whirl::XAIF_BBElemFilter::IsBBEndBr(), xaif2whirl::XAIF_BBElemFilter::IsBBEndLoop(), xaif2whirl::XAIF_BBElemFilter::IsBBEntry(), xaif2whirl::XAIF_BBElemFilter::IsBBExit(), xaif2whirl::XAIF_BBElemFilter::IsBBForLoop(), xaif2whirl::XAIF_BBElemFilter::IsBBPostLoop(), xaif2whirl::XAIF_BBElemFilter::IsBBPreLoop(), OA::DGraph::EdgesIteratorInterface::isValid(), OA::n, NULL, xaif2whirl::XlateExpression::translateExpression(), xaif2whirl::XlateExpression::translateExpressionSimple(), xaif2whirl::XlateStmt::translateStmt(), WN_CreateBlock(), WN_CreateDO(), WN_CreateDoWhile(), WN_CreateGoto(), WN_CreateIdname(), WN_CreateIf(), WN_CreateLabel(), WN_CreateWhileDo(), WN_INSERT_BlockFirst, WN_INSERT_BlockLast, WN_st(), WN_store_offset(), XAIFStrings, xlate_CFG_BasicBlock(), and xlate_CFG_BranchMulti().
Referenced by xlate_CFG().
|
static |
Definition at line 877 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_lineNumber_x(), xaif2whirl::XercesStrX::c_str(), OA::OA_ptr< T >::convert(), CreateIfCondition(), OA::DGraph::EdgesIteratorInterface::current(), XAIFStringRepository::elem_Condition_x(), XAIFStringRepository::elem_LpInit_x(), XAIFStringRepository::elem_LpUpdate_x(), FORTTK_DIE, FORTTK_MSG, GetChildElement(), xaif2whirl::MyDGNode::GetElem(), GetFirstChildElement(), OA::DGraph::NodeImplement::getOutgoingEdgesIterator(), getReversePostDFSList(), GetSuccessor(), GetSuccessorAlongEdge(), xaif2whirl::XAIF_BBElemFilter::IsBB(), xaif2whirl::XAIF_BBElemFilter::IsBBBranch(), xaif2whirl::XAIF_BBElemFilter::IsBBEndBr(), xaif2whirl::XAIF_BBElemFilter::IsBBEndLoop(), xaif2whirl::XAIF_BBElemFilter::IsBBEntry(), xaif2whirl::XAIF_BBElemFilter::IsBBExit(), xaif2whirl::XAIF_BBElemFilter::IsBBForLoop(), xaif2whirl::XAIF_BBElemFilter::IsBBPostLoop(), xaif2whirl::XAIF_BBElemFilter::IsBBPreLoop(), OA::DGraph::EdgesIteratorInterface::isValid(), OA::n, NULL, OA::DGraph::NodeImplement::num_outgoing(), OA::OA_ptr< T >::ptrEqual(), xaif2whirl::XlateExpression::translateExpression(), xaif2whirl::XlateExpression::translateExpressionSimple(), xaif2whirl::XlateStmt::translateStmt(), WN_CreateBlock(), WN_CreateGoto(), WN_CreateIf(), WN_CreateLabel(), WN_INSERT_BlockFirst, WN_INSERT_BlockLast, XAIFStrings, xlate_CFG_BasicBlock(), and xlate_CFG_BranchMulti().
Referenced by xlate_CFG().
void xaif2whirl::xlate_Scope | ( | const xercesc::DOMElement * | elem, |
PUXlationContext & | ctxt | ||
) |
Definition at line 1729 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_Vid_x(), xaif2whirl::XercesStrX::c_str(), fortTkSupport::BaseMap< FromTy, ToTy >::Find(), xaif2whirl::PUXlationContext::findSymTab(), GetFirstChildElement(), GetSymTabId(), PU_SetGlobalState(), xaif2whirl::PUXlationContext::setWNIdToWNMap(), WNIdToWNTableMap, XAIFStrings, and xlate_SymbolTable().
Referenced by xaif2whirl::XAIF_SAXHandler::endElement().
|
static |
Definition at line 1779 of file xaif2whirl.cxx.
References XAIFStringRepository::attr_symId_x(), XAIFStringRepository::attr_temp_x(), xaif2whirl::XercesStrX::c_str(), CLASS_VAR, ConvertScalarizedRefToActiveType(), ConvertToActiveType(), CreateST(), CURRENT_SYMTAB, RELATED_SEGMENTED_ARRAY< T, block_size >::Entry(), xaif2whirl::PUXlationContext::findWN(), FORTTK_ASSERT, GetActiveAttr(), GetBoolAttr(), GetSymId(), GetWNId(), xaif2whirl::PUXlationContext::getXAIFSymToSymbolMap(), GLOBAL_SYMTAB, fortTkSupport::XAIFSymToSymbolMap::Insert(), KIND_STRUCT, NULL, Scope_tab, ST_class(), SCOPE::st_tab, ST_type(), TY_kind(), and XAIFStrings.
Referenced by xlate_SymbolTable().
|
static |
Definition at line 1755 of file xaif2whirl.cxx.
References GetChildElement(), GetNextSiblingElement(), and xlate_Symbol().
Referenced by xlate_Scope().
TY_IDX xaif2whirl::ActiveTypeInitializedTyIdx |
Definition at line 51 of file xaif2whirl.cxx.
Referenced by ConvertToActiveType(), DeclareActiveTypes(), xaif2whirl::AdjustFunctions::doSymbol(), and xaif2whirl::XlateExpression::hasActiveSymbolType().
TY_IDX xaif2whirl::ActiveTypeTyIdx |
Definition at line 50 of file xaif2whirl.cxx.
Referenced by ConvertStructMemberToActiveType(), ConvertToActiveType(), CreateST(), DeclareActiveTypes(), xaif2whirl::AdjustFunctions::doSymbol(), and xaif2whirl::XlateExpression::hasActiveSymbolType().
fortTkSupport::IntrinsicXlationTable xaif2whirl::IntrinsicTable |
Definition at line 30 of file xaif2whirl.h.
Referenced by xaif2whirl::XlateExpression::xlate_ExprOpUsingIntrinsicTable().
AlgorithmType xaif2whirl::opt_algorithm = ALG_NULL |
Definition at line 85 of file main.cxx.
Referenced by real_main(), and TranslateCFG().
fortTkSupport::WNIdToWNTabMap xaif2whirl::WNIdToWNTableMap |
Definition at line 44 of file xaif2whirl.cxx.
Referenced by xaif2whirl::XAIF_SAXHandler::initialize(), TranslateCFG(), and xlate_Scope().