|
OpenADFortTk (basic)
|
#include <Open64IRInterface.hpp>

Classes | |
| class | FindUseMREVisitor |
Public Member Functions | |
| Open64IRInterface () | |
| virtual | ~Open64IRInterface () |
| std::string | toString (const OA::ProcHandle h) |
| std::string | toString (const OA::StmtHandle h) |
| std::string | toString (const OA::ExprHandle h) |
| std::string | toString (const OA::OpHandle h) |
| std::string | toString (const OA::MemRefHandle h) |
| std::string | toString (const OA::SymHandle h) |
| std::string | toString (const OA::ConstSymHandle h) |
| std::string | toString (const OA::ConstValHandle h) |
| std::string | toString (const OA::CallHandle h) |
| void | dump (OA::StmtHandle stmt, std::ostream &os) |
| void | dump (OA::MemRefHandle h, std::ostream &os) |
| void | dump (OA::SymHandle h, std::ostream &os) |
| OA::OA_ptr< OA::IRStmtIterator > | getStmtIterator (OA::ProcHandle h) |
| OA::OA_ptr< OA::IRStmtIterator > | getPtrAsgnIterator (OA::ProcHandle h) |
| OA::OA_ptr < OA::IRCallsiteIterator > | getCallsites (OA::StmtHandle h) |
| Return an iterator over all of the callsites in a given stmt. | |
| OA::SymHandle | getProcSymHandle (OA::ProcHandle h) |
| OA::OA_ptr < OA::IRCallsiteParamIterator > | getCallsiteParams (OA::CallHandle h) |
| OA::OA_ptr < OA::IRRegionStmtIterator > | procBody (OA::ProcHandle h) |
| bool | returnStatementsAllowed () |
| Are return statements allowed. | |
| OA::CFG::IRStmtType | getCFGStmtType (OA::StmtHandle h) |
| Given a statement, return its CFG::IRStmtType. | |
| OA::StmtLabel | getLabel (OA::StmtHandle h) |
| OA::OA_ptr < OA::IRRegionStmtIterator > | getFirstInCompound (OA::StmtHandle h) |
| OA::OA_ptr < OA::IRRegionStmtIterator > | loopBody (OA::StmtHandle h) |
| OA::StmtHandle | loopHeader (OA::StmtHandle h) |
| OA::StmtHandle | getLoopIncrement (OA::StmtHandle h) |
| bool | loopIterationsDefinedAtEntry (OA::StmtHandle h) |
| OA::ExprHandle | getLoopCondition (OA::StmtHandle h) |
| OA::OA_ptr < OA::IRRegionStmtIterator > | trueBody (OA::StmtHandle h) |
| OA::OA_ptr < OA::IRRegionStmtIterator > | elseBody (OA::StmtHandle h) |
| OA::ExprHandle | getCondition (OA::StmtHandle h) |
| int | numMultiCases (OA::StmtHandle h) |
| OA::OA_ptr < OA::IRRegionStmtIterator > | multiBody (OA::StmtHandle h, int bodyIndex) |
| bool | isBreakImplied (OA::StmtHandle multicond) |
| bool | isCatchAll (OA::StmtHandle h, int bodyIndex) |
| OA::OA_ptr < OA::IRRegionStmtIterator > | getMultiCatchall (OA::StmtHandle h) |
| OA::ExprHandle | getSMultiCondition (OA::StmtHandle h, int bodyIndex) |
| OA::ExprHandle | getSMultiTest (OA::StmtHandle h) |
| OA::StmtLabel | getTargetLabel (OA::StmtHandle h, int n) |
| int | numUMultiTargets (OA::StmtHandle h) |
| OA::StmtLabel | getUMultiTargetLabel (OA::StmtHandle h, int targetIndex) |
| OA::StmtLabel | getUMultiCatchallLabel (OA::StmtHandle h) |
| OA::ExprHandle | getUMultiCondition (OA::StmtHandle h, int targetIndex) |
| OA::ExprHandle | getUMultiTest (OA::StmtHandle h) |
| OA::OA_ptr < OA::MemRefExprIterator > | getUseMREs (OA::StmtHandle stmt) |
| Get an Iterator over Use MREs. | |
| OA::OA_ptr < OA::MemRefExprIterator > | getDefMREs (OA::StmtHandle stmt) |
| Get an Iterator over Def MREs. | |
| OA::OA_ptr < OA::MemRefExprIterator > | getDiffUseMREs (OA::StmtHandle stmt) |
| Get an Iterator over DiffUse MREs. | |
| OA::OA_ptr < OA::MemRefExprIterator > | getMemRefExprIterator (OA::MemRefHandle h) |
| OA::SymHandle | getSymHandle (OA::ProcHandle h) |
| Given a procedure return associated SymHandle. | |
| OA::OA_ptr < OA::Alias::PtrAssignPairStmtIterator > | getPtrAssignStmtPairIterator (OA::StmtHandle stmt) |
| OA::OA_ptr < OA::Alias::ParamBindPtrAssignIterator > | getParamBindPtrAssignIterator (OA::CallHandle call) |
| OA::SymHandle | getFormalSym (OA::ProcHandle, int) |
| OA::OA_ptr< OA::MemRefExpr > | getCallMemRefExpr (OA::CallHandle h) |
| OA::OA_ptr< OA::Location > | getLocation (OA::ProcHandle p, OA::SymHandle s) |
| OA::OA_ptr < OA::MemRefExprIterator > | getIndepMemRefExprIter (OA::ProcHandle h) |
| Return an iterator over all independent MemRefExpr for given proc. | |
| OA::OA_ptr < OA::MemRefExprIterator > | getDepMemRefExprIter (OA::ProcHandle h) |
| Return an iterator over all dependent MemRefExpr for given proc. | |
| int | getSizeInBytes (OA::SymHandle h) |
| given a symbol return the size in bytes of that symbol | |
| OA::OA_ptr< OA::IRSymIterator > | getRefSymIterator (OA::ProcHandle h) |
| OA::OA_ptr < OA::MemRefHandleIterator > | getAllMemRefs (OA::StmtHandle stmt) |
| OA::OA_ptr < OA::MemRefHandleIterator > | getDefMemRefs (OA::StmtHandle stmt) |
| OA::OA_ptr < OA::MemRefHandleIterator > | getUseMemRefs (OA::StmtHandle stmt) |
| OA::OA_ptr < OA::AssignPairIterator > | getAssignPairIterator (OA::StmtHandle h) |
| OA::OA_ptr < OA::ExprHandleIterator > | getExprHandleIterator (OA::StmtHandle stmt) |
| OA::OA_ptr < OA::ConstValBasicInterface > | evalOp (OA::OpHandle op, OA::OA_ptr< OA::ConstValBasicInterface > operand1, OA::OA_ptr< OA::ConstValBasicInterface > operand2) |
| OA::OA_ptr < OA::ConstValBasicInterface > | getConstValBasic (OA::ConstSymHandle c) |
| OA::OA_ptr < OA::ConstValBasicInterface > | getConstValBasic (OA::ConstValHandle c) |
| OA::StmtHandle | getStmtFromMemRef (OA::MemRefHandle h) |
| Return a stmt handle for the given memory reference handle. | |
| std::string | toString (OA::OA_ptr< OA::ConstValBasicInterface > cvPtr) |
| Temporary routine for testing MPICFG // given a ConstValBasicInterface, print out value if any. | |
| OA::OA_ptr < OA::ConstValBasicInterface > | getConstValBasic (unsigned int val) |
| Temporary routine for testing ReachConsts. | |
| int | returnOpEnumValInt (OA::OpHandle op) |
| temporary routine to find things out | |
| OA::Linearity::LinOpType | getLinearityOpType (OA::OpHandle op) |
| get the operation type and returns a LinOpType | |
| OA::OA_ptr < OA::SideEffect::SideEffectStandard > | getSideEffect (OA::ProcHandle callerProc, OA::SymHandle calleeSym) |
| OA::OA_ptr< OA::ExprTree > | getExprTree (OA::ExprHandle h) |
| Given an ExprHandle, return an ExprTree*. | |
| bool | isParam (OA::SymHandle) |
| returns true if given symbol is a parameter | |
| OA::ProcHandle | getProcHandle (OA::SymHandle sym) |
| Given the callee symbol returns the callee proc handle. | |
| OA::OA_ptr< OA::MemRefExpr > | convertSymToMemRefExpr (OA::SymHandle sym) |
| OA::OA_ptr < OA::MemRefHandleIterator > | getMemRefIterator (OA::StmtHandle h) |
| OA::SymHandle | getFormalForActual (OA::ProcHandle caller, OA::CallHandle call, OA::ProcHandle callee, OA::ExprHandle param) |
| return the formal parameter that an actual parameter is associated with. | |
| OA::SymHandle | getSymHandle (OA::CallHandle h) |
| bool | isRefParam (OA::SymHandle) |
| returns true if given symbol is a pass by reference parameter | |
Static Public Member Functions | |
| static void | DumpWN (WN *wn, ostream &os) |
| static void | setIgnoreBlackBoxRoutines () |
| static bool | ignoreBlackBoxRoutines () |
| static bool | haveDefinition (WN *wn) |
| static void | initContextState (PU_Info *pu_forest) |
| User is responsible for doing this. It should not be part of. | |
| static void | setContext (OA::IRHandle h, OA::ProcHandle proc) |
Private Member Functions | |
| void | findAllMemRefsAndMapToMemRefExprs (OA::StmtHandle stmt, WN *wn, unsigned lvl) |
| void | createAndMapNamedRef (OA::StmtHandle stmt, WN *wn, ST *st, OA::MemRefExpr::MemRefType hty) |
| void | createAndMapDerefs (OA::StmtHandle stmt, WN *wn, WN *subMemRef) |
| bool | isPassByReference (WN *) |
| ST * | findBaseSymbol (WN *) |
| void | currentProc (OA::ProcHandle p) |
| OA::MemRefHandle | findTopMemRefHandle (WN *wn) |
| bool | ExprTree_hack_for_MPI (OA::MemRefHandle h, OA::OA_ptr< OA::ExprTree > tree) |
| OA::OA_ptr< OA::ExprTree > | createExprTree (WN *wn) |
| OA::OA_ptr< OA::ExprTree::Node > | createExprTree (OA::OA_ptr< OA::ExprTree > tree, WN *wn) |
| OA::OA_ptr < OA::ConstValBasicInterface > | getConstValBasicFromST (ST *st) |
Static Private Member Functions | |
| static const char * | createCharStarForST (ST *) |
| use this to appropriately get a string for a symbol | |
| static void | DumpWNMemRef (WN *wn, ostream &os) |
| static void | DumpWNLeaf (WN *wn, ostream &os) |
| static void | DumpWNMemRefLeaf (WN *wn, ostream &os) |
| static void | initProcContext (PU_Info *pu_forest, Open64IRProcIterator &procIter) |
| static void | setCurrentProcToProcContext (OA::IRHandle h) |
| static OA::ProcHandle | getCurrentProcContext () |
| static void | setCurrentProcContext (OA::ProcHandle) |
| static fully_qualified_name | create_fqn (OA::SymHandle sym) |
| static void | initCallSymToProcMap (Open64IRProcIterator &procIter) |
| static void | initProcToSymRefSetMap (Open64IRProcIterator &procIter) |
Static Private Attributes | |
| static std::map < OA::StmtHandle, std::set < OA::MemRefHandle > > | sStmt2allMemRefsMap |
| static std::map < OA::StmtHandle, std::set < OA::ExprHandle > > | mStmt2allExprsMap |
| static std::map < OA::MemRefHandle, OA::StmtHandle > | sMemRef2StmtMap |
| static std::map < OA::MemRefHandle, set < OA::OA_ptr< OA::MemRefExpr > > > | sMemref2mreSetMap |
| static std::map< OA::SymHandle, OA::ProcHandle > | sCallSymToProc |
| static std::map < fully_qualified_name, std::set< OA::SymHandle > > | sGlobalVarMap |
| static std::map < fully_qualified_name, std::map< OA::ProcHandle, OA::SymHandle > > | sFQNToProcToLocalSymMap |
| static std::map< OA::SymHandle, fully_qualified_name > | sSymToFQNMap |
| static std::map< OA::SymHandle, std::string > | sSymToVarStringMap |
| static std::map < OA::ExprHandle, OA::CallHandle > | sParamToCallMap |
| static std::map < OA::ProcHandle, std::set < OA::SymHandle > > | sProcToSymRefSetMap |
| static std::map< OA::IRHandle, OA::ProcHandle > | sProcContext |
| static PU_Info * | sProgContext = NULL |
| static bool | sContextInit = false |
| static bool | ourIgnoreBlackBoxRoutines = false |
Friends | |
| class | Open64IRProcIterator |
| class | Open64IRMemRefIterator |
| class | Open64IRExprHandleIterator |
| class | InitContextVisitor |
Definition at line 585 of file Open64IRInterface.hpp.
Definition at line 563 of file Open64IRInterface.cpp.
| Open64IRInterface::~Open64IRInterface | ( | ) | [virtual] |
Definition at line 568 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::MemRefExpr > Open64IRInterface::convertSymToMemRefExpr | ( | OA::SymHandle | sym | ) |
Definition at line 2991 of file Open64IRInterface.cpp.
References isRefParam().
Referenced by getDepMemRefExprIter(), and getIndepMemRefExprIter().

| fully_qualified_name Open64IRInterface::create_fqn | ( | OA::SymHandle | sym | ) | [static, private] |
only call if the symbol is in a module or a common block
Definition at line 5162 of file Open64IRInterface.cpp.
References createCharStarForST(), SexpTags::ST, Stab_Is_Based_At_Common_Block(), and Stab_Is_Common_Block().
Referenced by initProcContext().

| void Open64IRInterface::createAndMapDerefs | ( | OA::StmtHandle | stmt, |
| WN * | wn, | ||
| WN * | subMemRef | ||
| ) | [private] |
Definition at line 2959 of file Open64IRInterface.cpp.
References sMemref2mreSetMap, and sStmt2allMemRefsMap.
| void Open64IRInterface::createAndMapNamedRef | ( | OA::StmtHandle | stmt, |
| WN * | wn, | ||
| ST * | st, | ||
| OA::MemRefExpr::MemRefType | hty | ||
| ) | [private] |
Definition at line 3015 of file Open64IRInterface.cpp.
References getCurrentProcContext(), sFQNToProcToLocalSymMap, sGlobalVarMap, sMemref2mreSetMap, sStmt2allMemRefsMap, sSymToFQNMap, and Stab_Is_Based_At_Common_Block().
Referenced by findAllMemRefsAndMapToMemRefExprs().

| const char * Open64IRInterface::createCharStarForST | ( | ST * | st | ) | [static, private] |
use this to appropriately get a string for a symbol
constant symbols get their strings from the TCON table?
Definition at line 4580 of file Open64IRInterface.cpp.
Referenced by create_fqn(), DumpWN(), DumpWNMemRefLeaf(), initProcContext(), and toString().
| OA::OA_ptr< OA::ExprTree > Open64IRInterface::createExprTree | ( | WN * | wn | ) | [private] |
Definition at line 4245 of file Open64IRInterface.cpp.
Referenced by createExprTree(), and getExprTree().
| OA::OA_ptr< OA::ExprTree::Node > Open64IRInterface::createExprTree | ( | OA::OA_ptr< OA::ExprTree > | tree, |
| WN * | wn | ||
| ) | [private] |
Initialize root node of ExprTree
If empty node, return root, end of recursion
identify type of node.
Intrinsic Op ======== Opode ========
Iterate over Operands of OpNode
get ExprTree for children
connect ExprTree of children with OpNode
If Callsite, =========== CallNode ===========
If Integer Constant ============ ConstValNode ============
If Constant Symbol, =========== ConstSymNode ============
Very Very Important Please do this check at the end because we dont want to treat Operators as MemRefNodes even if MemRefExprs are associated with the Operator nodes e.g. StatementHandle: foo( A+B ) MemRefHandles: &A+B is associated with OPR_PARM node A+B is associated with OPR_ADD node ExprTrees Expected: 1. MemRefNode(&A+B) 2. OpNode (+) /\ (MemRefNode) A B (MemRefNode)
If MemRefHandle associated with the node ========= MemRefNode =======
ARRAEXP may have multiple chlildren but we want to recurse on kid0
special case indicating section of an array for which index expression is created. ============ ConstValNode ============
We want to add special logic for every node that has more than one child.
For any other type of node, Recurse over children
Definition at line 4283 of file Open64IRInterface.cpp.
References createExprTree(), ExprTree_hack_for_MPI(), IntrinsicInfo::isIntrinsic(), and sMemref2mreSetMap.

| void Open64IRInterface::currentProc | ( | OA::ProcHandle | p | ) | [inline, private] |
Definition at line 1014 of file Open64IRInterface.hpp.
References PU_SetGlobalState().
Referenced by getDepMemRefExprIter(), getIndepMemRefExprIter(), getSideEffect(), and procBody().

| void Open64IRInterface::dump | ( | OA::StmtHandle | stmt, |
| std::ostream & | os | ||
| ) |
Definition at line 964 of file Open64IRInterface.cpp.
References DumpWN(), and setCurrentProcToProcContext().

| void Open64IRInterface::dump | ( | OA::MemRefHandle | h, |
| std::ostream & | os | ||
| ) |
Definition at line 977 of file Open64IRInterface.cpp.
References DumpWN(), setCurrentProcToProcContext(), and toString().

| void Open64IRInterface::dump | ( | OA::SymHandle | h, |
| std::ostream & | os | ||
| ) |
Definition at line 1000 of file Open64IRInterface.cpp.
References toString().

| void Open64IRInterface::DumpWN | ( | WN * | wn, |
| ostream & | os | ||
| ) | [static] |
Definition at line 4608 of file Open64IRInterface.cpp.
References createCharStarForST(), DumpWNLeaf(), and DumpWNMemRefLeaf().
Referenced by dump(), DumpWNMemRef(), and toString().

| void Open64IRInterface::DumpWNLeaf | ( | WN * | wn, |
| ostream & | os | ||
| ) | [static, private] |
Definition at line 5027 of file Open64IRInterface.cpp.
References DumpWNMemRefLeaf().
Referenced by DumpWN().

| void Open64IRInterface::DumpWNMemRef | ( | WN * | wn, |
| ostream & | os | ||
| ) | [static, private] |
Definition at line 5040 of file Open64IRInterface.cpp.
References DumpWN(), and DumpWNMemRefLeaf().
Referenced by ExprTree_hack_for_MPI(), and toString().

| void Open64IRInterface::DumpWNMemRefLeaf | ( | WN * | wn, |
| ostream & | os | ||
| ) | [static, private] |
Definition at line 5060 of file Open64IRInterface.cpp.
References createCharStarForST().
Referenced by DumpWN(), DumpWNLeaf(), and DumpWNMemRef().

| OA::OA_ptr< OA::IRRegionStmtIterator > Open64IRInterface::elseBody | ( | OA::StmtHandle | h | ) |
Definition at line 1541 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::ConstValBasicInterface > Open64IRInterface::evalOp | ( | OA::OpHandle | op, |
| OA::OA_ptr< OA::ConstValBasicInterface > | operand1, | ||
| OA::OA_ptr< OA::ConstValBasicInterface > | operand2 | ||
| ) |
Given an OpHandle and two operands (unary ops will just use the first operand and the second operand should be NULL) return a ConstValBasicInterface
Definition at line 3537 of file Open64IRInterface.cpp.
References Open64ConstVal::eval().

| bool Open64IRInterface::ExprTree_hack_for_MPI | ( | OA::MemRefHandle | h, |
| OA::OA_ptr< OA::ExprTree > | tree | ||
| ) | [private] |
Definition at line 4255 of file Open64IRInterface.cpp.
References DumpWNMemRef().
Referenced by createExprTree().

| void Open64IRInterface::findAllMemRefsAndMapToMemRefExprs | ( | OA::StmtHandle | stmt, |
| WN * | wn, | ||
| unsigned | lvl | ||
| ) | [private] |
create NamedRef
If Formal Reference Parameter
get mre for the current MemRefHandle
composedWith Deref
remove current association
associate new mre with the current node
If Pointer
get mre for the current MemRefHandle
composedWith deref mre
remove current association
associate new mre with the current node
iterate over kid0, RHS
iterate over kid1, LHS
=================== Processing LHS ====================
create NamedRef
get mre for the current MemRefHandle
If Formal Reference Parameter
change MRE to USE
composedWith deref mre
remove current association
associate new mre with the current node
=================== Processing RHS ====================
get the mre for topMemRefHandle
composedWith AddressOf
remove current association
associate new mre with the current node
iterate over kid0, RHS
iterate over kid1, LHS
create NamedRef
If Formal Reference Parameter
get the mre for current MemRefHandle
change MRE to USE
composedWith create deref mre
remove current association
associate new mre with the current node
If Formal Reference Parameter
get the mre for current MemRefHandle
change MRE to USE
composedWith deref mre
remove current association
associate new mre with the current node
iterate over kid
get the top MemRefHandle
get the current MemRefHandle
steals mre mapped to topMemRefHandle
disassociate mre from topMemRefHandle
get the mre for current MemRefHandle
change MRE to USE
composedWith deref mre
associate new mre with the current node
iterate over kid
get the top MemRefHandle
ILOAD LDA const_sym assert(mtop != OA::MemRefHandle(0));
get the current MemRefHandle
steals mre mapped to topMemRefHandle
disassociate mre from topMemRefHandle
associate mre with the current node
iterate over kid0, RHS
iterate over kid1, LHS
get the top MemRefHandle
ILOAD LDA const_sym assert(mtop != OA::MemRefHandle(0));
get the current MemRefHandle
steals mre mapped to topMemRefHandle
disassociate mre from topMemRefHandle
Change type of mre
associate mre with the current MemRegfHandle
iterate over kid0, RHS
iterate over kid1, LHS
get the top MemRefHandle
get the current MemRefHandle
steals mre mapped to topMemRefHandle
disassociate mre from topMemRefHandle
Remove SubSetRef
remove Deref
associate mre with the current MemRegfHandle
=========== Processing RHS ==============
steals mre mapped to topMemRefHandle
disassociate mre from topMemRefHandle
RHS composedWith AddressOf
iterate over kid0
get the top MemRefHandle
get the current MemRefHandle
steals mre mapped to topMemRefHandle
disassociate mre from topMemRefHandle
associate mre with the current MemRefHandle
Array Indexes are expressions
Array Index Expressions are ExprHandles for which ExprTree exists.
iterate over kid0
Create MemRefExpr for each PARM
If Formal Reference Parameter, then apply AddressOf
composedWith AddressOf
remove current association
associate new mre with the current node
Iterate over the param nodes
get the MemRefHandle
Do not store ExprHandle mStmt2allExprsMap[stmt].erase((OA::irhandle_t)param);
steals mre mapped to topMemRefHandle
Remove AddressOf
remove Param MemRefHandle
remove UnnamedMRE associated with PARM kid
disassociate mre from topMemRefHandle
Remove ExprHandle
Remove AssignPairs
get the Symbol Table Entry
get the MemRefHandle
get associated MemRefExpr
disassociate Old MemRefExpr
Remove AddressOf
Remove SubSetRef
Remove Deref
Change MemRefType = DEF
associate new MRE
Create AddressOf(UnnamedRef) and associate with the kid of the param node.
create AddressOf(UnnamedRef(CALL))
composedWith AddressOf
associate new MemRefExpr
Create Pointer AssignPairs
UnnamedRef is PARM_kid, not PARM
Remove MemRefExpr associated with the last PARM and its kid.
get the MemRefHandle
remove MemRefHandle and mre
For the second PARM child
Remove MemRefHandle and mre again
this is an exprHandle
Iterate over the param nodes
create MemRefExpr
Remove ExprHandle
get the MemRefHandle
steals mre mapped to topMemRefHandle
Remove AddressOf
remove Param MemRefHandle
remove UnnamedMRE associated with PARM kid
Remove ExprHandle
Remove AssignPairs
disassociate mre from topMemRefHandle
Do not store this ExprHandle
get the MemRefHandle
steals mre mapped to topMemRefHandle
Remove ExprHandle for LHS of string assignment
iterate over kid0
get the top MemRefHandle
store ExprHandle
Create DEF UnnamedRef
associate UnnamedRef with the kid
steals mre mapped to topMemRefHandle
Disassociate mre
set UnnamedRef to USE MRE
composedWith AddressOf
associate mre with the current MemRefHandle
Definition at line 1857 of file Open64IRInterface.cpp.
References createAndMapNamedRef(), findBaseSymbol(), findTopMemRefHandle(), getCurrentProcContext(), IntrinsicInfo::intrinsicBaseName(), IntrinsicInfo::isIntrinsic(), isRefParam(), mStmt2allExprsMap, mStmtToAssignPairs, mStmtToPtrPairs, sMemref2mreSetMap, sStmt2allMemRefsMap, SexpTags::ST, WN2F_Can_Assign_Types(), WN_GetBaseObjType(), and WN_GetRefObjType().
Referenced by getAssignPairIterator(), and getMemRefIterator().

| ST * Open64IRInterface::findBaseSymbol | ( | WN * | wn | ) | [private] |
Definition at line 2888 of file Open64IRInterface.cpp.
References DBGMSG_PUB, SexpTags::ST, and WN_intrinsic_name().
Referenced by findAllMemRefsAndMapToMemRefExprs().

| OA::MemRefHandle Open64IRInterface::findTopMemRefHandle | ( | WN * | wn | ) | [private] |
Definition at line 4190 of file Open64IRInterface.cpp.
References IntrinsicInfo::intrinsicBaseName(), and sMemref2mreSetMap.
Referenced by findAllMemRefsAndMapToMemRefExprs().

| OA::OA_ptr< OA::MemRefHandleIterator > Open64IRInterface::getAllMemRefs | ( | OA::StmtHandle | stmt | ) |
Return a list of all the memory reference handles that appear in the given statement.
Return a list of all the memory reference handles that appear in the given statement. User is responsible for deleting the list
Definition at line 3299 of file Open64IRInterface.cpp.
References getMemRefIterator(), and setCurrentProcToProcContext().
Referenced by getDiffUseMREs(), and getUseMemRefs().

| OA::OA_ptr< OA::AssignPairIterator > Open64IRInterface::getAssignPairIterator | ( | OA::StmtHandle | h | ) |
Given a statement return a list to the pairs of target MemRefHandle, ExprHandle where target = expr
Definition at line 3464 of file Open64IRInterface.cpp.
References findAllMemRefsAndMapToMemRefExprs(), mStmtToAssignPairs, and sStmt2allMemRefsMap.

| OA::OA_ptr< OA::MemRefExpr > Open64IRInterface::getCallMemRefExpr | ( | OA::CallHandle | h | ) |
Given a procedure call create a memory reference expression to describe that call. For example, a normal call is a NamedRef. A call involving a function ptr is a Deref.
Definition at line 3142 of file Open64IRInterface.cpp.
References getSymHandle().

| OA::OA_ptr< OA::IRCallsiteParamIterator > Open64IRInterface::getCallsiteParams | ( | OA::CallHandle | h | ) |
Definition at line 1055 of file Open64IRInterface.cpp.
References setCurrentProcToProcContext().
Referenced by getMemRefIterator(), and getParamBindPtrAssignIterator().

| OA::OA_ptr< OA::IRCallsiteIterator > Open64IRInterface::getCallsites | ( | OA::StmtHandle | h | ) |
Return an iterator over all of the callsites in a given stmt.
Definition at line 1041 of file Open64IRInterface.cpp.
References setCurrentProcToProcContext().
Referenced by getMemRefIterator().

| OA::CFG::IRStmtType Open64IRInterface::getCFGStmtType | ( | OA::StmtHandle | h | ) |
Given a statement, return its CFG::IRStmtType.
Definition at line 1270 of file Open64IRInterface.cpp.
| OA::ExprHandle Open64IRInterface::getCondition | ( | OA::StmtHandle | h | ) |
Definition at line 1557 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::ConstValBasicInterface > Open64IRInterface::getConstValBasic | ( | OA::ConstSymHandle | c | ) |
Given a ConstSymHandle return an abstraction representing the constant value
Definition at line 3549 of file Open64IRInterface.cpp.
References getConstValBasicFromST(), setCurrentProcToProcContext(), and SexpTags::ST.

| OA::OA_ptr< OA::ConstValBasicInterface > Open64IRInterface::getConstValBasic | ( | OA::ConstValHandle | c | ) |
Given a ConstValHandle return an abstraction representing the constant value User must free the ConstValBasicInterface
Definition at line 3557 of file Open64IRInterface.cpp.
References getConstValBasicFromST(), setCurrentProcToProcContext(), and SexpTags::ST.

| OA::OA_ptr< OA::ConstValBasicInterface > Open64IRInterface::getConstValBasic | ( | unsigned int | val | ) |
Temporary routine for testing ReachConsts.
Definition at line 3633 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::ConstValBasicInterface > Open64IRInterface::getConstValBasicFromST | ( | ST * | st | ) | [private] |
Definition at line 4510 of file Open64IRInterface.cpp.
Referenced by getConstValBasic().
| OA::ProcHandle Open64IRInterface::getCurrentProcContext | ( | ) | [static, private] |
Definition at line 5145 of file Open64IRInterface.cpp.
Referenced by createAndMapNamedRef(), findAllMemRefsAndMapToMemRefExprs(), getLocation(), and isRefParam().
| OA::OA_ptr< OA::MemRefHandleIterator > Open64IRInterface::getDefMemRefs | ( | OA::StmtHandle | stmt | ) |
Return a list of all the target memory reference handles that appear in the given statement.
Return a list of all def memory reference handles that appear in the given statement. User is responsible for deleting the list
================================================ only map those MREs that do not involve an addressOf operation added by PLM 09/14/06 ================================================
Definition at line 3252 of file Open64IRInterface.cpp.
References getMemRefIterator(), setCurrentProcToProcContext(), and sMemref2mreSetMap.

| OA::OA_ptr< OA::MemRefExprIterator > Open64IRInterface::getDefMREs | ( | OA::StmtHandle | stmt | ) |
Get an Iterator over Def MREs.
Get an Iterator over Use MREs.
================================================ only map those MREs that do not involve an addressOf operation added by PLM 09/14/06 ================================================
Definition at line 4028 of file Open64IRInterface.cpp.
References getMemRefIterator(), and sMemref2mreSetMap.

| OA::OA_ptr< OA::MemRefExprIterator > Open64IRInterface::getDepMemRefExprIter | ( | OA::ProcHandle | h | ) |
Return an iterator over all dependent MemRefExpr for given proc.
Return an iterator over all dependent MemRefExpr's for given proc.
Get MRE for the Independent Variable
Definition at line 3195 of file Open64IRInterface.cpp.
References convertSymToMemRefExpr(), currentProc(), and SexpTags::ST.

| OA::OA_ptr< OA::MemRefExprIterator > Open64IRInterface::getDiffUseMREs | ( | OA::StmtHandle | stmt | ) |
Get an Iterator over DiffUse MREs.
Get an Iterator over Use MREs.
getDiffUses
Do not process Index Expressions.
dont need pointer expressions
Definition at line 4070 of file Open64IRInterface.cpp.
References getAllMemRefs(), and getMemRefExprIterator().

| OA::OA_ptr< OA::ExprHandleIterator > Open64IRInterface::getExprHandleIterator | ( | OA::StmtHandle | stmt | ) |
Definition at line 3453 of file Open64IRInterface.cpp.
References Open64IRExprHandleIterator.
| OA::OA_ptr< OA::ExprTree > Open64IRInterface::getExprTree | ( | OA::ExprHandle | h | ) |
Given an ExprHandle, return an ExprTree*.
Given an ExprHandle, return an ExprTree* The user must free the expr tree
Definition at line 3771 of file Open64IRInterface.cpp.
References createExprTree(), and setCurrentProcToProcContext().
Referenced by getParamBindPtrAssignIterator().

| OA::OA_ptr< OA::IRRegionStmtIterator > Open64IRInterface::getFirstInCompound | ( | OA::StmtHandle | h | ) |
Definition at line 1410 of file Open64IRInterface.cpp.
| OA::SymHandle Open64IRInterface::getFormalForActual | ( | OA::ProcHandle | caller, |
| OA::CallHandle | call, | ||
| OA::ProcHandle | callee, | ||
| OA::ExprHandle | param | ||
| ) |
return the formal parameter that an actual parameter is associated with.
return the formal parameter that an actual parameter is associated with. 'call' is a handle to the call node; 'param' is the actual parameter within the call node that we want info about.
PLM Important node regarding Optional Parameters: Reference :http://www.sesp.cse.clrc.ac.uk/Publications/felib90_design/design/node6.html
Occasionally, not all arguments are required every time a procedure is used. Therefore some arguments may be specified as optional, using the OPTIONAL attribute:
SUBROUTINE sub1(a, b, c, d) INTEGER, INTENT(INOUT):: a, b REAL, INTENT(IN), OPTIONAL :: c, d ... END SUBROUTINE sub1
Here a and b are always required when calling sub1. The arguments c and d are optional and so sub1 may be referenced by:
CALL sub1( a, b ) CALL sub1( a, b, c, d ) CALL sub1( a, b, c )
Note that the order in which arguments appear is important (unless keyword arguments are used) so that it is not possible to call sub1 with argument d but no argument c.
CALL sub1( a, b, d ) ! illegal
Optional arguments must come after all arguments associated by position in a referencing statement and require an explicit interface.
PLM : Places where explicit formal to actual matching needed.
For functions excluding following cases: 1. PURE INTEGER FUNCTION 2. ELEMENTAL REAL 3. RECURSIVE FUNCTIONS WITH RESULT (mentioned explicitely in the prototype) WHERE RESULT IS SCALAR VARIABLE 4. RECURSIVE FUNCTIONS WITHOUT RESULT (mentioned explicitely in the prototype)
Return type is one of the member of formal Parameter list. It appears as the first argument in the formal Parameter list. We need to match actual to formal starting from ParmIdx=1.
In case of Subroutine, we do not have Return-Type and therefore, We need to match actual to formal starting from ParmIdx=0.
The algorithm is as Follows:
PLM more details: in case of Indirect Function Calls (e.g. using function pointers), function pointer is also one of the member of parameter list.
Definition at line 1108 of file Open64IRInterface.cpp.
References PU_SetGlobalState(), setCurrentProcToProcContext(), and SexpTags::ST.
Referenced by isPassByReference().

| OA::SymHandle Open64IRInterface::getFormalSym | ( | OA::ProcHandle | proc, |
| int | formalID | ||
| ) |
Return the symbol handle for the nth formal parameter to proc Number starts at 0 and implicit parameters should be given a number in the order as well. This number should correspond to the number provided in getParamBindPtrAssign pairs Should return SymHandle(0) if there is no formal parameter for given num
Definition at line 3114 of file Open64IRInterface.cpp.
References PU_SetGlobalState(), and SexpTags::ST.

| OA::OA_ptr< OA::MemRefExprIterator > Open64IRInterface::getIndepMemRefExprIter | ( | OA::ProcHandle | h | ) |
Return an iterator over all independent MemRefExpr for given proc.
Return an iterator over all independent locations for given proc.
Get MRE for the Independent Variable
Definition at line 3158 of file Open64IRInterface.cpp.
References convertSymToMemRefExpr(), currentProc(), and SexpTags::ST.

| OA::StmtLabel Open64IRInterface::getLabel | ( | OA::StmtHandle | h | ) |
Definition at line 1397 of file Open64IRInterface.cpp.
| OA::Linearity::LinOpType Open64IRInterface::getLinearityOpType | ( | OA::OpHandle | op | ) |
get the operation type and returns a LinOpType
gets the operation type and returns a LinOpType
Definition at line 3645 of file Open64IRInterface.cpp.
References setCurrentProcToProcContext().

| OA::OA_ptr< OA::Location > Open64IRInterface::getLocation | ( | OA::ProcHandle | p, |
| OA::SymHandle | s | ||
| ) |
For the given symbol create a Location that indicates statically overlapping locations and information about whether the location is local or not, local means visible in only this procedure
For the given symbol create a Location that indicates statically overlapping locations and information about whether the location is local or not, local means visible in only this procedure If the symbol is not visible within the current procedure then a null location is returned. FIXME: does Fortran90 allow nested procedures? if so then variables visible to a nested procedure should not be labeled local
Definition at line 3804 of file Open64IRInterface.cpp.
References debug, getCurrentProcContext(), setCurrentProcContext(), setCurrentProcToProcContext(), sFQNToProcToLocalSymMap, sGlobalVarMap, sProcToSymRefSetMap, sSymToFQNMap, SexpTags::ST, Stab_Is_Based_At_Common_Block(), and toString().

| OA::ExprHandle Open64IRInterface::getLoopCondition | ( | OA::StmtHandle | h | ) |
Definition at line 1498 of file Open64IRInterface.cpp.
| OA::StmtHandle Open64IRInterface::getLoopIncrement | ( | OA::StmtHandle | h | ) |
Definition at line 1468 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::MemRefExprIterator > Open64IRInterface::getMemRefExprIterator | ( | OA::MemRefHandle | memref | ) |
Given a MemRefHandle return an iterator over MemRefExprs that describe this memory reference
Given a MemRefHandle return an iterator over all MemRefExprs that describe this memory reference
Definition at line 4118 of file Open64IRInterface.cpp.
References setCurrentProcToProcContext(), and sMemref2mreSetMap.
Referenced by getDiffUseMREs(), and getParamBindPtrAssignIterator().

| OA::OA_ptr< OA::MemRefHandleIterator > Open64IRInterface::getMemRefIterator | ( | OA::StmtHandle | h | ) |
Given a statement return an iterator over all memory references During its creation it also sets up sStmt2allMemRefs and memRefs2mreSetMap.
Definition at line 1812 of file Open64IRInterface.cpp.
References findAllMemRefsAndMapToMemRefExprs(), getCallsiteParams(), getCallsites(), Open64IRMemRefIterator, setCurrentProcToProcContext(), sParamToCallMap, and sStmt2allMemRefsMap.
Referenced by getAllMemRefs(), getDefMemRefs(), getDefMREs(), and getUseMREs().

| OA::OA_ptr< OA::IRRegionStmtIterator > Open64IRInterface::getMultiCatchall | ( | OA::StmtHandle | h | ) |
Definition at line 1613 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::Alias::ParamBindPtrAssignIterator > Open64IRInterface::getParamBindPtrAssignIterator | ( | OA::CallHandle | call | ) |
Return an iterator over <int, MemRefExpr> pairs where the integer represents which formal parameter and the MemRefExpr describes the corresponding actual argument.
skip over Optional Parameters
Definition at line 3050 of file Open64IRInterface.cpp.
References getCallsiteParams(), getExprTree(), getMemRefExprIterator(), isRefParam(), and setCurrentProcToProcContext().

| OA::ProcHandle Open64IRInterface::getProcHandle | ( | OA::SymHandle | sym | ) |
Given the callee symbol returns the callee proc handle.
Definition at line 4147 of file Open64IRInterface.cpp.
Referenced by isPassByReference().
| OA::SymHandle Open64IRInterface::getProcSymHandle | ( | OA::ProcHandle | h | ) |
Definition at line 1021 of file Open64IRInterface.cpp.
References PU_SetGlobalState(), and SexpTags::ST.
Referenced by getSymHandle().

| OA::OA_ptr< OA::IRStmtIterator > Open64IRInterface::getPtrAsgnIterator | ( | OA::ProcHandle | h | ) |
Definition at line 3517 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::Alias::PtrAssignPairStmtIterator > Open64IRInterface::getPtrAssignStmtPairIterator | ( | OA::StmtHandle | stmt | ) |
If this is a PTR_ASSIGN_STMT then return an iterator over MemRefHandle pairs where there is a source and target such that target
Definition at line 3527 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::IRSymIterator > Open64IRInterface::getRefSymIterator | ( | OA::ProcHandle | h | ) |
Given a subprogram return an IRSymIterator for all symbols that are visible in the subprogram Given a subprogram return an IRSymIterator for all symbols that are referenced in the subprogram
Definition at line 3240 of file Open64IRInterface.cpp.
Referenced by initProcToSymRefSetMap().
| OA::OA_ptr< OA::SideEffect::SideEffectStandard > Open64IRInterface::getSideEffect | ( | OA::ProcHandle | callerProc, |
| OA::SymHandle | calleeSym | ||
| ) |
Note: This routine uses sSymToVarStringMap, which is initialized in initProcContext
Definition at line 3698 of file Open64IRInterface.cpp.
References currentProc(), setCurrentProcToProcContext(), and sSymToVarStringMap.

| int Open64IRInterface::getSizeInBytes | ( | OA::SymHandle | h | ) |
given a symbol return the size in bytes of that symbol
Definition at line 3229 of file Open64IRInterface.cpp.
References setCurrentProcToProcContext(), and SexpTags::ST.

| OA::ExprHandle Open64IRInterface::getSMultiCondition | ( | OA::StmtHandle | h, |
| int | bodyIndex | ||
| ) |
Definition at line 1622 of file Open64IRInterface.cpp.
| OA::ExprHandle Open64IRInterface::getSMultiTest | ( | OA::StmtHandle | h | ) |
Definition at line 1630 of file Open64IRInterface.cpp.
| OA::StmtHandle Open64IRInterface::getStmtFromMemRef | ( | OA::MemRefHandle | h | ) |
Return a stmt handle for the given memory reference handle.
Definition at line 3602 of file Open64IRInterface.cpp.
References setCurrentProcToProcContext(), and sMemRef2StmtMap.

| OA::OA_ptr< OA::IRStmtIterator > Open64IRInterface::getStmtIterator | ( | OA::ProcHandle | h | ) |
Given a subprogram return an IRStmtIterator for the entire subprogram
Definition at line 1013 of file Open64IRInterface.cpp.
| OA::SymHandle Open64IRInterface::getSymHandle | ( | OA::ProcHandle | h | ) | [inline] |
Given a procedure return associated SymHandle.
Definition at line 765 of file Open64IRInterface.hpp.
References getProcSymHandle().
Referenced by getCallMemRefExpr(), initCallSymToProcMap(), isPassByReference(), and toString().

| OA::SymHandle Open64IRInterface::getSymHandle | ( | OA::CallHandle | h | ) |
get callee SymHandle from CallHandle (outermost or first, if multiple calls)
Definition at line 1234 of file Open64IRInterface.cpp.
References SexpTags::ST.
| OA::StmtLabel Open64IRInterface::getTargetLabel | ( | OA::StmtHandle | h, |
| int | n | ||
| ) |
Definition at line 1652 of file Open64IRInterface.cpp.
| OA::StmtLabel Open64IRInterface::getUMultiCatchallLabel | ( | OA::StmtHandle | h | ) |
Definition at line 1735 of file Open64IRInterface.cpp.
| OA::ExprHandle Open64IRInterface::getUMultiCondition | ( | OA::StmtHandle | h, |
| int | targetIndex | ||
| ) |
Definition at line 1762 of file Open64IRInterface.cpp.
| OA::StmtLabel Open64IRInterface::getUMultiTargetLabel | ( | OA::StmtHandle | h, |
| int | targetIndex | ||
| ) |
Definition at line 1690 of file Open64IRInterface.cpp.
| OA::ExprHandle Open64IRInterface::getUMultiTest | ( | OA::StmtHandle | h | ) |
Definition at line 1788 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::MemRefHandleIterator > Open64IRInterface::getUseMemRefs | ( | OA::StmtHandle | stmt | ) |
Return a list of all the source and sub memory reference handles that appear in the given statement.
Return a list of all use memory reference handles that appear in the given statement. User is responsible for deleting the list
================================================ only map those MREs that do not involve an addressOf operation added by PLM 09/14/06 ================================================
Definition at line 3326 of file Open64IRInterface.cpp.
References getAllMemRefs(), setCurrentProcToProcContext(), and sMemref2mreSetMap.

| OA::OA_ptr< OA::MemRefExprIterator > Open64IRInterface::getUseMREs | ( | OA::StmtHandle | stmt | ) |
Get an Iterator over Use MREs.
Definition at line 3988 of file Open64IRInterface.cpp.
References Open64IRInterface::FindUseMREVisitor::getAllUseMREs(), getMemRefIterator(), and sMemref2mreSetMap.

| bool Open64IRInterface::haveDefinition | ( | WN * | wn | ) | [static] |
Definition at line 5291 of file Open64IRInterface.cpp.
References DBGMSG_PUB, and sCallSymToProc.
Referenced by Open64IRCallsiteIterator::build_func_call_list().
| bool Open64IRInterface::ignoreBlackBoxRoutines | ( | ) | [static] |
Definition at line 5287 of file Open64IRInterface.cpp.
References ourIgnoreBlackBoxRoutines.
Referenced by Open64IRCallsiteIterator::build_func_call_list().
| void Open64IRInterface::initCallSymToProcMap | ( | Open64IRProcIterator & | procIter | ) | [static, private] |
creates a mapping of call symbol handles to the associated proc handle
Definition at line 5079 of file Open64IRInterface.cpp.
References Open64IRProcIterator::current(), getSymHandle(), Open64IRProcIterator::isValid(), and Open64IRProcIterator::reset().
Referenced by initContextState().

| void Open64IRInterface::initContextState | ( | PU_Info * | pu_forest | ) | [static] |
User is responsible for doing this. It should not be part of.
Definition at line 4161 of file Open64IRInterface.cpp.
References initCallSymToProcMap(), initProcContext(), initProcToSymRefSetMap(), and sContextInit.
Referenced by whirl2xaif::Whirl2Xaif::translateIR().

| void Open64IRInterface::initProcContext | ( | PU_Info * | pu_forest, |
| Open64IRProcIterator & | procIter | ||
| ) | [static, private] |
maps all handles to a procedure handle that indicates their context assumes that all handles except for SymHandle's and ProcHandle's are only valid in one procedure context.
Definition at line 5188 of file Open64IRInterface.cpp.
References create_fqn(), createCharStarForST(), Open64IRProcIterator::current(), debug, Open64IRProcIterator::isValid(), fully_qualified_name::mContext, fully_qualified_name::mVar, Open64IRProcIterator::reset(), sContextInit, sGlobalVarMap, sProcContext, sProgContext, sSymToFQNMap, sSymToVarStringMap, SexpTags::ST, Stab_Is_Based_At_Common_Block(), and toString().
Referenced by initContextState().

| void Open64IRInterface::initProcToSymRefSetMap | ( | Open64IRProcIterator & | procIter | ) | [static, private] |
creates a mapping of procedure handles to the set of symbols referenced in that procedure get a set of all referenced symbols in this procedure Using this to approximate what is visible in F90 because Open64 module scoping is messed up and all module variables are put in the global scope
Definition at line 5101 of file Open64IRInterface.cpp.
References Open64IRProcIterator::current(), getRefSymIterator(), Open64IRProcIterator::isValid(), Open64IRProcIterator::reset(), and sProcToSymRefSetMap.
Referenced by initContextState().

| bool Open64IRInterface::isBreakImplied | ( | OA::StmtHandle | multicond | ) |
Definition at line 1597 of file Open64IRInterface.cpp.
| bool Open64IRInterface::isCatchAll | ( | OA::StmtHandle | h, |
| int | bodyIndex | ||
| ) |
Definition at line 1605 of file Open64IRInterface.cpp.
| bool Open64IRInterface::isParam | ( | OA::SymHandle | anOASymbolHandle | ) |
returns true if given symbol is a parameter
Definition at line 3780 of file Open64IRInterface.cpp.
References SexpTags::ST.
| bool Open64IRInterface::isPassByReference | ( | WN * | opr_parm_wn | ) | [private] |
Definition at line 4535 of file Open64IRInterface.cpp.
References getFormalForActual(), getProcHandle(), getSymHandle(), isRefParam(), setCurrentProcToProcContext(), sParamToCallMap, and sProcContext.

| bool Open64IRInterface::isRefParam | ( | OA::SymHandle | sym | ) |
returns true if given symbol is a pass by reference parameter
Definition at line 1063 of file Open64IRInterface.cpp.
References getCurrentProcContext(), setCurrentProcContext(), setCurrentProcToProcContext(), and SexpTags::ST.
Referenced by convertSymToMemRefExpr(), findAllMemRefsAndMapToMemRefExprs(), getParamBindPtrAssignIterator(), and isPassByReference().

| OA::OA_ptr< OA::IRRegionStmtIterator > Open64IRInterface::loopBody | ( | OA::StmtHandle | h | ) |
Definition at line 1425 of file Open64IRInterface.cpp.
| OA::StmtHandle Open64IRInterface::loopHeader | ( | OA::StmtHandle | h | ) |
Definition at line 1451 of file Open64IRInterface.cpp.
| bool Open64IRInterface::loopIterationsDefinedAtEntry | ( | OA::StmtHandle | h | ) |
Definition at line 1485 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::IRRegionStmtIterator > Open64IRInterface::multiBody | ( | OA::StmtHandle | h, |
| int | bodyIndex | ||
| ) |
Definition at line 1588 of file Open64IRInterface.cpp.
| int Open64IRInterface::numMultiCases | ( | OA::StmtHandle | h | ) |
Definition at line 1580 of file Open64IRInterface.cpp.
| int Open64IRInterface::numUMultiTargets | ( | OA::StmtHandle | h | ) |
Definition at line 1673 of file Open64IRInterface.cpp.
| OA::OA_ptr< OA::IRRegionStmtIterator > Open64IRInterface::procBody | ( | OA::ProcHandle | h | ) |
Given a ProcHandle, return an IRRegionStmtIterator* for the procedure. The user must free the iterator's memory via delete.
Definition at line 1250 of file Open64IRInterface.cpp.
References currentProc().

| int Open64IRInterface::returnOpEnumValInt | ( | OA::OpHandle | op | ) |
temporary routine to find things out
FIXME: temporary routine to find things out should be removed after testing
Definition at line 3591 of file Open64IRInterface.cpp.
References setCurrentProcToProcContext().

| bool Open64IRInterface::returnStatementsAllowed | ( | ) | [inline] |
Are return statements allowed.
Definition at line 681 of file Open64IRInterface.hpp.
| static void Open64IRInterface::setContext | ( | OA::IRHandle | h, |
| OA::ProcHandle | proc | ||
| ) | [inline, static] |
add a new IRHandle to the given procedure after context has already been initialized with initProcContext
Definition at line 1108 of file Open64IRInterface.hpp.
References sProcContext.
| void Open64IRInterface::setCurrentProcContext | ( | OA::ProcHandle | proc | ) | [static, private] |
Definition at line 5150 of file Open64IRInterface.cpp.
References PU_SetGlobalState().
Referenced by getLocation(), and isRefParam().

| void Open64IRInterface::setCurrentProcToProcContext | ( | OA::IRHandle | h | ) | [static, private] |
Determines the current context for given handle and makes sure that Open64 is properly set up to answer the query on the handle
Definition at line 5126 of file Open64IRInterface.cpp.
References PU_SetGlobalState(), and sProcContext.
Referenced by dump(), getAllMemRefs(), getCallsiteParams(), getCallsites(), getConstValBasic(), getDefMemRefs(), getExprTree(), getFormalForActual(), getLinearityOpType(), getLocation(), getMemRefExprIterator(), getMemRefIterator(), getParamBindPtrAssignIterator(), getSideEffect(), getSizeInBytes(), getStmtFromMemRef(), getUseMemRefs(), isPassByReference(), isRefParam(), returnOpEnumValInt(), and toString().

| void Open64IRInterface::setIgnoreBlackBoxRoutines | ( | ) | [static] |
Definition at line 5283 of file Open64IRInterface.cpp.
References ourIgnoreBlackBoxRoutines.
Referenced by whirl2xaif::Whirl2Xaif::translateIR().
| std::string Open64IRInterface::toString | ( | const OA::ProcHandle | h | ) |
Definition at line 577 of file Open64IRInterface.cpp.
References getSymHandle().
Referenced by dump(), getLocation(), initProcContext(), and whirl2xaif::xlate_SideEffectEntry().

| std::string Open64IRInterface::toString | ( | const OA::StmtHandle | h | ) |
Definition at line 592 of file Open64IRInterface.cpp.
References DumpWN(), and setCurrentProcToProcContext().

| std::string Open64IRInterface::toString | ( | const OA::ExprHandle | h | ) |
Definition at line 607 of file Open64IRInterface.cpp.
References DumpWN(), and setCurrentProcToProcContext().

| std::string Open64IRInterface::toString | ( | const OA::OpHandle | h | ) |
Definition at line 622 of file Open64IRInterface.cpp.
References DumpWN(), and setCurrentProcToProcContext().

| std::string Open64IRInterface::toString | ( | const OA::MemRefHandle | h | ) |
Definition at line 882 of file Open64IRInterface.cpp.
References DumpWNMemRef(), and setCurrentProcToProcContext().

| std::string Open64IRInterface::toString | ( | const OA::SymHandle | h | ) |
Definition at line 892 of file Open64IRInterface.cpp.
References createCharStarForST(), setCurrentProcToProcContext(), and SexpTags::ST.

| std::string Open64IRInterface::toString | ( | const OA::ConstSymHandle | h | ) |
Definition at line 913 of file Open64IRInterface.cpp.
References DumpWN(), and setCurrentProcToProcContext().

| std::string Open64IRInterface::toString | ( | const OA::ConstValHandle | h | ) |
Definition at line 930 of file Open64IRInterface.cpp.
References DumpWN(), and setCurrentProcToProcContext().

| std::string Open64IRInterface::toString | ( | const OA::CallHandle | h | ) |
Definition at line 948 of file Open64IRInterface.cpp.
References DumpWN(), and setCurrentProcToProcContext().

| std::string Open64IRInterface::toString | ( | OA::OA_ptr< OA::ConstValBasicInterface > | cvPtr | ) |
Temporary routine for testing MPICFG // given a ConstValBasicInterface, print out value if any.
Temporary routine for testing MPICFG.
Definition at line 3613 of file Open64IRInterface.cpp.
References Open64ConstVal::getIntegerVal().

| OA::OA_ptr< OA::IRRegionStmtIterator > Open64IRInterface::trueBody | ( | OA::StmtHandle | h | ) |
Definition at line 1525 of file Open64IRInterface.cpp.
friend class InitContextVisitor [friend] |
Definition at line 1067 of file Open64IRInterface.hpp.
friend class Open64IRExprHandleIterator [friend] |
Definition at line 1066 of file Open64IRInterface.hpp.
Referenced by getExprHandleIterator().
friend class Open64IRMemRefIterator [friend] |
Definition at line 1065 of file Open64IRInterface.hpp.
Referenced by getMemRefIterator().
friend class Open64IRProcIterator [friend] |
Definition at line 1064 of file Open64IRInterface.hpp.
std::map< OA::StmtHandle, std::set< OA::ExprHandle > > Open64IRInterface::mStmt2allExprsMap [static, private] |
Definition at line 956 of file Open64IRInterface.hpp.
Referenced by findAllMemRefsAndMapToMemRefExprs().
bool Open64IRInterface::ourIgnoreBlackBoxRoutines = false [static, private] |
Definition at line 1074 of file Open64IRInterface.hpp.
Referenced by ignoreBlackBoxRoutines(), and setIgnoreBlackBoxRoutines().
std::map< OA::SymHandle, OA::ProcHandle > Open64IRInterface::sCallSymToProc [static, private] |
Definition at line 964 of file Open64IRInterface.hpp.
Referenced by haveDefinition().
bool Open64IRInterface::sContextInit = false [static, private] |
Definition at line 1047 of file Open64IRInterface.hpp.
Referenced by initContextState(), and initProcContext().
std::map< fully_qualified_name, std::map< OA::ProcHandle, OA::SymHandle > > Open64IRInterface::sFQNToProcToLocalSymMap [static, private] |
Definition at line 973 of file Open64IRInterface.hpp.
Referenced by createAndMapNamedRef(), and getLocation().
std::map< fully_qualified_name, std::set< OA::SymHandle > > Open64IRInterface::sGlobalVarMap [static, private] |
Definition at line 969 of file Open64IRInterface.hpp.
Referenced by createAndMapNamedRef(), getLocation(), and initProcContext().
std::map< OA::MemRefHandle, set< OA::OA_ptr< OA::MemRefExpr > > > Open64IRInterface::sMemref2mreSetMap [static, private] |
Definition at line 961 of file Open64IRInterface.hpp.
Referenced by createAndMapDerefs(), createAndMapNamedRef(), createExprTree(), findAllMemRefsAndMapToMemRefExprs(), findTopMemRefHandle(), getDefMemRefs(), getDefMREs(), getMemRefExprIterator(), getUseMemRefs(), and getUseMREs().
std::map< OA::MemRefHandle, OA::StmtHandle > Open64IRInterface::sMemRef2StmtMap [static, private] |
Definition at line 958 of file Open64IRInterface.hpp.
Referenced by getStmtFromMemRef().
std::map< OA::ExprHandle, OA::CallHandle > Open64IRInterface::sParamToCallMap [static, private] |
Definition at line 981 of file Open64IRInterface.hpp.
Referenced by getMemRefIterator(), and isPassByReference().
std::map< OA::IRHandle, OA::ProcHandle > Open64IRInterface::sProcContext [static, private] |
Definition at line 1044 of file Open64IRInterface.hpp.
Referenced by initProcContext(), isPassByReference(), setContext(), and setCurrentProcToProcContext().
std::map< OA::ProcHandle, std::set< OA::SymHandle > > Open64IRInterface::sProcToSymRefSetMap [static, private] |
Definition at line 985 of file Open64IRInterface.hpp.
Referenced by getLocation(), and initProcToSymRefSetMap().
PU_Info * Open64IRInterface::sProgContext = NULL [static, private] |
Definition at line 1045 of file Open64IRInterface.hpp.
Referenced by initProcContext().
std::map< OA::StmtHandle, std::set< OA::MemRefHandle > > Open64IRInterface::sStmt2allMemRefsMap [static, private] |
Definition at line 953 of file Open64IRInterface.hpp.
Referenced by createAndMapDerefs(), createAndMapNamedRef(), findAllMemRefsAndMapToMemRefExprs(), getAssignPairIterator(), and getMemRefIterator().
std::map< OA::SymHandle, fully_qualified_name > Open64IRInterface::sSymToFQNMap [static, private] |
Definition at line 975 of file Open64IRInterface.hpp.
Referenced by createAndMapNamedRef(), getLocation(), and initProcContext().
std::map< OA::SymHandle, std::string > Open64IRInterface::sSymToVarStringMap [static, private] |
Definition at line 978 of file Open64IRInterface.hpp.
Referenced by getSideEffect(), and initProcContext().