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:76

Inherits from: FunctionPass, PMDataManager

Member Variables

private std::deque<Loop*> LQ
private llvm::LoopInfo* LI
private llvm::Loop* CurrentLoop
private bool CurrentLoopDeleted
public static char ID

Inherited from PMDataManager:

protected TPM = nullptr
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:79

void addLoop(llvm::Loop& L)

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

Parameters

llvm::Loop& L

void dumpPassStructure(unsigned int Offset)

Description

Print passes managed by this manager

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

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:87

Parameters

llvm::AnalysisUsage& Info

llvm::PMDataManager* getAsPMDataManager()

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

llvm::Pass* getAsPass()

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

llvm::LoopPass* getContainedPass(unsigned int N)

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

Parameters

unsigned int N

llvm::PassManagerType getPassManagerType() const

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

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:89

void markLoopAsDeleted(llvm::Loop& L)

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

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:83

Parameters

llvm::Function& F