14 #ifndef LLVM_TRANSFORMS_UTILS_LOOPROTATIONUTILS_H 15 #define LLVM_TRANSFORMS_UTILS_LOOPROTATIONUTILS_H 19 class AssumptionCache;
23 class MemorySSAUpdater;
24 class ScalarEvolution;
26 class TargetTransformInfo;
34 bool LoopRotation(Loop *L, LoopInfo *LI,
const TargetTransformInfo *TTI,
35 AssumptionCache *AC, DominatorTree *DT, ScalarEvolution *SE,
36 MemorySSAUpdater *MSSAU,
const SimplifyQuery &SQ,
37 bool RotationOnly,
unsigned Threshold,
bool IsUtilMode);
This class represents lattice values for constants.
bool LoopRotation(Loop *L, LoopInfo *LI, const TargetTransformInfo *TTI, AssumptionCache *AC, DominatorTree *DT, ScalarEvolution *SE, MemorySSAUpdater *MSSAU, const SimplifyQuery &SQ, bool RotationOnly, unsigned Threshold, bool IsUtilMode)
Convert a loop into a loop with bottom test.
static cl::opt< unsigned > Threshold("loop-unswitch-threshold", cl::desc("Max loop size to unswitch"), cl::init(100), cl::Hidden)