ΒΆbool LoopRotation(
    llvm::Loop* L,
    llvm::LoopInfo* LI,
    const llvm::TargetTransformInfo* TTI,
    llvm::AssumptionCache* AC,
    llvm::DominatorTree* DT,
    llvm::ScalarEvolution* SE,
    llvm::MemorySSAUpdater* MSSAU,
    const llvm::SimplifyQuery& SQ,
    bool RotationOnly,
    unsigned int Threshold,
    bool IsUtilMode)

Description

Convert a loop into a loop with bottom test. It may perform loop latch simplication as well if the flag RotationOnly is false. The flag Threshold represents the size threshold of the loop header. If the loop header's size exceeds the threshold, the loop rotation will give up. The flag IsUtilMode controls the heuristic used in the LoopRotation. If it is true, the profitability heuristic will be ignored.

Declared at: llvm/include/llvm/Transforms/Utils/LoopRotationUtils.h:33

Parameters

llvm::Loop* L
llvm::LoopInfo* LI
const llvm::TargetTransformInfo* TTI
llvm::AssumptionCache* AC
llvm::DominatorTree* DT
llvm::ScalarEvolution* SE
llvm::MemorySSAUpdater* MSSAU
const llvm::SimplifyQuery& SQ
bool RotationOnly
unsigned int Threshold
bool IsUtilMode