Class OptSpec#

Nested Relationships#

Nested Types#

Inheritance Relationships#

Derived Types#

Class Documentation#

class OptSpec#

Subclassed by BlockSpec, CopyArraySpec, ParLoopSpec, UnrollSpec

Public Types

enum OptEnum#

Values:

enumerator PARLOOP#
enumerator BLOCK#
enumerator UNROLL#
enumerator COPY_ARRAY#
enumerator BLOCK_COPY_ARRAY#
enumerator FINITE_DIFF#
enumerator OPT_ENUM_SIZE#
enum OptLevel#

Values:

enumerator OPT_NONE#
enumerator OPT_PAR_LEVEL#
enumerator OPT_CACHE_LEVEL#
enumerator OPT_PAR_CACHE_LEVEL#
enumerator OPT_REG_LEVEL#
enumerator OPT_CACHE_REG_LEVEL#
enumerator OPT_PROC_LEVEL#
enumerator OPT_POST_PAR_LEVEL#
enumerator OPT_CLEANUP_LEVEL#
enumerator OPT_CACHE_CLEANUP_LEVEL#
enumerator OPT_CACHE_REG_CLEANUP_LEVEL#
enumerator OPT_CACHE_PROC_CLEANUP_LEVEL#
enumerator OPT_ALL#
enumerator OPT_LEVEL_MAX#
typedef std::vector<OptSpec*>::const_iterator OptIterator#

Public Functions

inline POETCode *get_target() const#
inline std::string get_targetName() const#
inline virtual ~OptSpec()#
virtual OptEnum get_enum() const = 0#
virtual OptLevel get_opt_level() const = 0#
virtual std::string get_opt_prefix(OptLevel optLevel) = 0#
virtual std::string to_string(OptLevel level) = 0#
inline 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) = 0#
inline virtual POETCode *insert_paramDecl(AutoTuningInterface &tune, POETProgram &poet, OptLevel optLevel, int &lineNo)#

Protected Functions

inline OptSpec(POETCode *_target, const std::string &_name)#

Protected Attributes

POETCode *target#
std::string targetName#

Friends

friend class AutoTuningInterface
struct LoopInfo#

Public Functions

inline LoopInfo(LocalVar *_handle = 0, const std::string &name = "")#

Public Members

LocalVar *handle#
std::string ivarname#