llvm::SplitBlock

SplitBlock overloads

Synopses

Declared in <llvm/Transforms/Utils/BasicBlockUtils.h>

Split a block so instructions from SplitPt move to a new successor.

BasicBlock*
SplitBlock(
    BasicBlock* Old,
    BasicBlock::iterator SplitPt,
    DomTreeUpdater* DTU = nullptr,
    LoopInfo* LI = nullptr,
    MemorySSAUpdater* MSSAU = nullptr,
    Twine const& BBName = "");
» more...

Split a block so instructions from SplitPt move to a new successor.

BasicBlock*
SplitBlock(
    BasicBlock* Old,
    BasicBlock::iterator SplitPt,
    DominatorTree* DT,
    LoopInfo* LI = nullptr,
    MemorySSAUpdater* MSSAU = nullptr,
    Twine const& BBName = "");
» more...

Split a block at an instruction using a dominator-tree updater.

BasicBlock*
SplitBlock(
    BasicBlock* Old,
    Instruction* SplitPt,
    DomTreeUpdater* DTU = nullptr,
    LoopInfo* LI = nullptr,
    MemorySSAUpdater* MSSAU = nullptr,
    Twine const& BBName = "");
» more...

Split a block at an instruction using a dominator tree.

BasicBlock*
SplitBlock(
    BasicBlock* Old,
    Instruction* SplitPt,
    DominatorTree* DT,
    LoopInfo* LI = nullptr,
    MemorySSAUpdater* MSSAU = nullptr,
    Twine const& BBName = "");
» more...

Return Value

The newly created successor block containing instructions from SplitPt onward.

Parameters

NameDescription
OldBlock to split.
SplitPtFirst instruction moved into the new block.
DTUOptional dominator-tree updater for CFG changes.
LIOptional loop info to update.
MSSAUOptional MemorySSA updater for the split.
BBNameOptional name for the newly created block.
DTDominator tree to update.