Class ArrayInterface#
Defined in File ArrayInterface.h
Inheritance Relationships#
Base Types#
public AstObserver(Class AstObserver)public AliasAnalysisInterface(Class AliasAnalysisInterface)public ArrayAbstractionInterface(Class ArrayAbstractionInterface)
Class Documentation#
-
class ArrayInterface : public AstObserver, public AliasAnalysisInterface, public ArrayAbstractionInterface#
Public Functions
-
inline ArrayInterface(ArrayAnnotation &a)#
-
void initialize(AstInterface &fa, const AstNodePtr &h)#
-
virtual void analyze(AstInterface &fa, const AstNodePtr &h)#
Expose alias analysis for unit testing.
-
void observe(AstInterface &fa)#
-
void stop_observe(AstInterface &fa)#
-
virtual bool may_alias(AstInterface &fa, const AstNodePtr &r1, const AstNodePtr &r2)#
-
bool is_array_exp(CPPAstInterface &fa, const AstNodePtr &array, int *dimp = 0, SymbolicFunctionDeclarationGroup *len = 0, bool *changeshape = 0)#
-
void set_array_dimension(const AstNodePtr &arrayexp, int dim)#
-
bool is_array_mod_op(CPPAstInterface &fa, const AstNodePtr &arrayExp, AstNodePtr *modArray = 0, int *dimp = 0, SymbolicFunctionDeclarationGroup *len = 0, SymbolicFunctionDeclarationGroup *elem = 0, bool *reshape = 0)#
-
bool is_array_construct_op(CPPAstInterface &fa, const AstNodePtr &arrayExp, AstInterface::AstNodeList *alias = 0, int *dimp = 0, SymbolicFunctionDeclarationGroup *len = 0, SymbolicFunctionDeclarationGroup *elem = 0)#
-
AstNodePtr impl_array_opt_init(CPPAstInterface &fa, const AstNodePtr &array, const AstNodePtr &scope)#
-
AstNodePtr impl_access_array_length(CPPAstInterface &fa, const AstNodePtr &array, int dim, int plus = 0)#
-
AstNodePtr impl_access_array_elem(CPPAstInterface &fa, const AstNodePtr &array, const AstInterface::AstNodeList &args)#
-
AstNodePtr impl_reshape_array(CPPAstInterface &fa, const AstNodePtr &array, AstInterface::AstNodeList &args)#
Public Static Functions
-
static ArrayInterface *get_inst(ArrayAnnotation &a, AstInterface &fa, SgFunctionDefinition *funcDef, const AstNodePtr &node)#
-
inline ArrayInterface(ArrayAnnotation &a)#