Class CopyArraySpec#

Inheritance Relationships#

Base Type#

Derived Type#

Class Documentation#

class CopyArraySpec : public OptSpec#

Subclassed by BlockCopyArraySpec

Public Functions

CopyArraySpec(HandleMap &handleMap, POETCode *input, const std::string &name, CopyArrayConfig &config, LoopTreeNode *root)#
inline virtual OptEnum get_enum() const#
inline virtual OptLevel get_opt_level() const#
virtual void insert_xformDecl(POETProgram &poet, LocalVar *top, POETCode *&traceMod, int &lineNo)#
virtual POETCode *gen_xformEval(POETProgram &poet, LocalVar *top, POETCode *traceMod, OptLevel optLevel, int &lineNo)#
inline virtual std::string get_opt_prefix(OptLevel optLevel)#
virtual std::string to_string(OptLevel level)#
LocalVar *get_dimVar(POETProgram &poet, const std::string &arrname)#
LocalVar *get_arrVar(POETProgram &poet, const std::string &arrname)#
inline std::string get_bufName(const std::string &arrname, bool scalar)#
inline std::string get_cpIvarName(const std::string &arrname, int sel_index)#
POETCode *gen_cpIvarDecl(POETProgram &poet, LocalVar *top, const std::string &arrname, int dim, bool cpblock)#
POETCode *gen_copyInvoke(POETProgram &poet, POETCode *handle, LocalVar *top, const std::string &arrname, POETCode *arrelemType, CopyArrayOpt opt, POETCode *cpDim, POETCode *cpblock, bool scalar, POETCode *traceMod)#

Public Static Functions

static inline bool do_scalarRepl(OptLevel optLevel)#

Protected Functions

int get_loopLevel(const SelectArray::ArrayDim &cur)#
POETCode *compute_copySubscript(POETProgram &poet, bool afterCopy)#
POETCode *compute_copyDim(POETProgram &poet, bool scalar)#
void compute_config()#
POETCode *gen_copyInvoke(POETProgram &poet, POETCode *cphandle, LocalVar *top, POETCode *cpblock, bool scalar, POETCode *traceMod, int &lineNo)#
virtual POETCode *insert_paramDecl(AutoTuningInterface &tune, POETProgram &poet, OptLevel optLevel, int &lineNo)#
inline CopyArraySpec(POETCode *input, const std::string &name, CopyArrayConfig &config)#

Protected Attributes

SelectArray sel#
CopyArrayOpt opt#
std::vector<LoopInfo> loopVec#
std::vector<int> placeVec#
POETCode *permute#
std::string cur_id#

Protected Static Attributes

static int index#