Class SelectArray

Contents

Class SelectArray#

Nested Relationships#

Nested Types#

Class Documentation#

class SelectArray#

Public Functions

inline SelectArray(const AstNodeType &base, const std::string &arr, int arrdim)#
std::string toString() const#
bool insert_selinfo(LoopTreeGetVarBound &context, int arrDim, SymbolicVal &selincr, SymbolicVal &selsize, int minLevel, int maxLevel, const SymbolicVal &startdiff)#
bool select(LoopTreeNode *stmt, LoopTreeNode *cproot, AstInterface::AstNodeList &index)#
void set_bufname(AstInterface &fa)#
void set_bufsize(AstInterface &fa)#
inline std::string arr_name() const#
inline AstNodeType elem_type() const#
inline unsigned arr_dim() const#
inline unsigned sel_dim() const#
inline const SymbolicVal &sel_start(unsigned dim) const#
inline SymbolicVal &sel_start(unsigned dim)#
bool scalar_repl() const#
bool need_allocate_buffer() const#
bool need_delete_buffer() const#
AstNodePtr initcopy_codegen(LoopInfo *shift = 0) const#
AstNodePtr savecopy_codegen() const#
AstNodePtr shiftcopy_codegen(LoopInfo &shift, const std::vector<SymbolicVal> &arrshift, const SymbolicVal &bufshift) const#
AstNodePtr allocate_codegen(AstInterface &fa) const#
AstNodePtr delete_codegen(AstInterface &fa) const#
inline SymbolicVal buf_size() const#
SymbolicVal buf_offset(AstInterface &fa, std::vector<SymbolicVal> &arroffset) const#
AstNodePtr buf_codegen(AstInterface &fa, int offset) const#
AstNodePtr buf_codegen(AstInterface &fa, const SymbolicVal &offset) const#
AstNodePtr buf_codegen(AstInterface &fa, AstInterface::AstNodeList &arrindex) const#
inline const_iterator begin() const#
inline const_iterator end() const#
inline iterator begin()#
inline iterator end()#
inline void erase(iterator &p)#

Friends

friend class SelectArray::const_iterator
class ArrayDim#

Public Functions

inline ArrayDim(int _dim, const SymbolicVal &_incr, const SymbolicVal &_size, int minLoopLevel, int maxLoopLevel)#
inline const SymbolicVal &get_incr() const#
inline const SymbolicVal &get_size() const#
inline int get_arrDim() const#
inline int get_minLoopLevel() const#
inline int get_maxLoopLevel() const#

Friends

friend class SelectArray
class const_iterator#

Public Functions

inline const_iterator(const std::list<ArrayDim>::const_iterator &that)#
inline const_iterator(const const_iterator &that)#
inline bool operator==(const const_iterator &that) const#
inline bool operator!=(const const_iterator &that) const#
inline void operator++()#
inline void operator++(int)#
inline const ArrayDim &operator*() const#
class iterator#

Public Functions

inline iterator(const std::list<ArrayDim>::iterator &that)#
inline iterator(const iterator &that)#
inline bool operator==(const iterator &that) const#
inline bool operator!=(const iterator &that) const#
inline void operator++()#
inline void operator++(int)#
inline ArrayDim &operator*()#

Friends

friend class SelectArray