ΒΆllvm::Loop* cloneLoopWithPreheader(
    llvm::BasicBlock* Before,
    llvm::BasicBlock* LoopDomBB,
    llvm::Loop* OrigLoop,
    llvm::ValueToValueMapTy& VMap,
    const llvm::Twine& NameSuffix,
    llvm::LoopInfo* LI,
    llvm::DominatorTree* DT,
    SmallVectorImpl<llvm::BasicBlock*>& Blocks)

Description

Clones a loop \p OrigLoop. Returns the loop and the blocks in \p Blocks. Updates LoopInfo and DominatorTree assuming the loop is dominated by block\p LoopDomBB. Insert the new blocks before block specified in \p Before. Note: Only innermost loops are supported.

Declared at: llvm/include/llvm/Transforms/Utils/Cloning.h:246

Parameters

llvm::BasicBlock* Before
llvm::BasicBlock* LoopDomBB
llvm::Loop* OrigLoop
llvm::ValueToValueMapTy& VMap
const llvm::Twine& NameSuffix
llvm::LoopInfo* LI
llvm::DominatorTree* DT
SmallVectorImpl<llvm::BasicBlock*>& Blocks