class LPPassManager

Declaration

class LPPassManager : public FunctionPass, public PMDataManager { /* full declaration omitted */ };

Description

FunctionPass class - This class is used to implement most global optimizations. Optimizations should subclass this class if they meet the following constraints: 1. Optimizations are organized globally, i.e., a function at a time 2. Optimizing a function does not cause the addition or removal of any functions in the module

Declared at: llvm/include/llvm/Analysis/LoopPass.h:96

Inherits from: FunctionPass, PMDataManager

Member Variables

public static char ID

Inherited from PMDataManager:

protected TPM
protected PassVector
protected InheritedAnalysis

Method Overview

Inherited from PMDataManager:

Inherited from FunctionPass:

Inherited from Pass:

Methods

LPPassManager()

Declared at: llvm/include/llvm/Analysis/LoopPass.h:99

void addLoop(llvm::Loop& L)

Declared at: llvm/include/llvm/Analysis/LoopPass.h:129

Parameters

llvm::Loop& L

void cloneBasicBlockSimpleAnalysis(
    llvm::BasicBlock* From,
    llvm::BasicBlock* To,
    llvm::Loop* L)

Description

cloneBasicBlockSimpleAnalysis - Invoke cloneBasicBlockAnalysis hook for all passes that implement simple analysis interface.

Declared at: llvm/include/llvm/Analysis/LoopPass.h:143

Parameters

llvm::BasicBlock* From
llvm::BasicBlock* To
llvm::Loop* L

void deleteSimpleAnalysisLoop(llvm::Loop* L)

Description

Invoke deleteAnalysisLoop hook for all passes that implement simple analysis interface.

Declared at: llvm/include/llvm/Analysis/LoopPass.h:151

Parameters

llvm::Loop* L

void deleteSimpleAnalysisValue(llvm::Value* V,
                               llvm::Loop* L)

Description

deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes that implement simple analysis interface.

Declared at: llvm/include/llvm/Analysis/LoopPass.h:147

Parameters

llvm::Value* V
llvm::Loop* L

void dumpPassStructure(unsigned int Offset)

Description

Print passes managed by this manager

Declared at: llvm/include/llvm/Analysis/LoopPass.h:115

Parameters

unsigned int Offset

void getAnalysisUsage(
    llvm::AnalysisUsage& Info) const

Description

Pass Manager itself does not invalidate any analysis info.

Declared at: llvm/include/llvm/Analysis/LoopPass.h:107

Parameters

llvm::AnalysisUsage& Info

llvm::PMDataManager* getAsPMDataManager()

Declared at: llvm/include/llvm/Analysis/LoopPass.h:111

llvm::Pass* getAsPass()

Declared at: llvm/include/llvm/Analysis/LoopPass.h:112

llvm::LoopPass* getContainedPass(unsigned int N)

Declared at: llvm/include/llvm/Analysis/LoopPass.h:117

Parameters

unsigned int N

llvm::PassManagerType getPassManagerType() const

Declared at: llvm/include/llvm/Analysis/LoopPass.h:123

llvm::StringRef getPassName() const

Description

getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.

Declared at: llvm/include/llvm/Analysis/LoopPass.h:109

void markLoopAsDeleted(llvm::Loop& L)

Declared at: llvm/include/llvm/Analysis/LoopPass.h:132

Parameters

llvm::Loop& L

bool runOnFunction(llvm::Function& F)

Description

run - Execute all of the passes scheduled for execution. Keep track of whether any of the passes modifies the module, and if so, return true.

Declared at: llvm/include/llvm/Analysis/LoopPass.h:103

Parameters

llvm::Function& F