ΒΆbool simplifyLoop(llvm::Loop* L,
                  llvm::DominatorTree* DT,
                  llvm::LoopInfo* LI,
                  llvm::ScalarEvolution* SE,
                  llvm::AssumptionCache* AC,
                  llvm::MemorySSAUpdater* MSSAU,
                  bool PreserveLCSSA)

Description

Simplify each loop in a loop nest recursively. This takes a potentially un-simplified loop L (and its children) and turns it into a simplified loop nest with preheaders and single backedges. It will update \c DominatorTree, \c LoopInfo, \c ScalarEvolution and \c MemorySSA analyses if they're non-null, and LCSSA if \c PreserveLCSSA is true.

Declared at: llvm/include/llvm/Transforms/Utils/LoopSimplify.h:64

Parameters

llvm::Loop* L
llvm::DominatorTree* DT
llvm::LoopInfo* LI
llvm::ScalarEvolution* SE
llvm::AssumptionCache* AC
llvm::MemorySSAUpdater* MSSAU
bool PreserveLCSSA