class LoopInfo

Declaration

class LoopInfo : public LoopInfoBase { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Analysis/LoopInfo.h:1049

Inherits from: LoopInfoBase

Method Overview

Methods

LoopInfo()

Declared at: llvm/include/llvm/Analysis/LoopInfo.h:1058

LoopInfo(const DominatorTreeBase<llvm::BasicBlock,
                                 false>& DomTree)

Declared at: llvm/include/llvm/Analysis/LoopInfo.h:1059

Parameters

const DominatorTreeBase<llvm::BasicBlock, false>& DomTree

LoopInfo(llvm::LoopInfo&& Arg)

Declared at: llvm/include/llvm/Analysis/LoopInfo.h:1061

Parameters

llvm::LoopInfo&& Arg

void erase(llvm::Loop* L)

Description

Update LoopInfo after removing the last backedge from a loop. This updates the loop forest and parent loops for each block so that \c L is no longer referenced, but does not actually delete \c L immediately. The pointer will remain valid until this LoopInfo's memory is released.

Declared at: llvm/include/llvm/Analysis/LoopInfo.h:1077

Parameters

llvm::Loop* L

bool invalidate(
    llvm::Function& F,
    const llvm::PreservedAnalyses& PA,
    FunctionAnalysisManager::Invalidator&)

Description

Handle invalidation explicitly.

Declared at: llvm/include/llvm/Analysis/LoopInfo.h:1068

Parameters

llvm::Function& F
const llvm::PreservedAnalyses& PA
FunctionAnalysisManager::Invalidator&

bool movementPreservesLCSSAForm(
    llvm::Instruction* Inst,
    llvm::Instruction* NewLoc)

Description

Checks if moving a specific instruction can break LCSSA in any loop. Return true if moving \p Inst to before \p NewLoc will break LCSSA, assuming that the function containing \p Inst and \p NewLoc is currently in LCSSA form.

Declared at: llvm/include/llvm/Analysis/LoopInfo.h:1107

Parameters

llvm::Instruction* Inst
llvm::Instruction* NewLoc

bool replacementPreservesLCSSAForm(
    llvm::Instruction* From,
    llvm::Value* To)

Description

Returns true if replacing From with To everywhere is guaranteed to preserve LCSSA form.

Declared at: llvm/include/llvm/Analysis/LoopInfo.h:1081

Parameters

llvm::Instruction* From
llvm::Value* To