Class LoopTransformOptions

Contents

Class LoopTransformOptions#

Nested Relationships#

Nested Types#

Class Documentation#

class LoopTransformOptions#

Public Types

enum OptType#

Values:

enumerator NO_OPT#
enumerator LOOP_NEST_OPT#
enumerator INNER_MOST_OPT#
enumerator MULTI_LEVEL_OPT#
enumerator LOOP_OPT#
enumerator DATA_OPT#
enumerator LOOP_DATA_OPT#
enumerator PAR_OPT#
enumerator PAR_LOOP_OPT#
enumerator PAR_LOOP_DATA_OPT#

Public Functions

void PrintUsage(std::ostream &stream) const#
void RegisterOption(OptRegistryType *t)#
inline LoopBlocking *GetBlockSel() const#
inline LoopPar *GetParSel() const#
inline CopyArrayOperator *GetCopyArraySel() const#
inline ArrangeNestingOrder *GetInterchangeSel() const#
inline LoopNestFusion *GetFusionSel() const#
inline unsigned GetCacheLineSize() const#
inline unsigned GetReuseDistance() const#
inline unsigned GetTransAnalSplitLimit() const#
inline unsigned GetDefaultBlockSize() const#
inline unsigned GetParBlockSize() const#
inline void SetDefaultBlockSize(unsigned size)#
inline void SetParBlockSize(unsigned size)#
bool DoDynamicTuning() const#
unsigned GetDynamicTuningIndex() const#
OptType GetOptimizationType()#
void SetOptions(const std::vector<std::string> &argvList, std::vector<std::string> *known_opt = 0)#
void SetBlockSel(LoopBlocking *sel)#
void SetParSel(LoopPar *sel)#
void SetCopySel(CopyArrayOperator *sel)#
void SetInterchangeSel(ArrangeNestingOrder *sel)#
void SetFusionSel(LoopNestFusion *sel)#
inline void SetCacheLineSize(unsigned sel)#
inline void SetReuseDistance(unsigned sel)#
inline void SetTransAnalSplitLimit(unsigned sel)#

Public Static Functions

static LoopTransformOptions *GetInstance()#
class OptRegistryType#

Public Functions

virtual void operator()(LoopTransformOptions &opt, unsigned &index, const std::vector<std::string> &argv) = 0#
inline OptRegistryType(const std::string &s1, const std::string &s2)#
inline std::string GetName() const#
inline std::string GetExpl() const#
inline virtual ~OptRegistryType()#