class LoopPass

Declaration

class LoopPass : public Pass { /* full declaration omitted */ };

Description

Pass interface - Implemented by all 'passes'. Subclass this if you are an interprocedural optimization or you do not fit into any of the more constrained passes described below.

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

Inherits from: Pass

Member Variables

Method Overview

Inherited from Pass:

Methods

LoopPass(char& pid)

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

Parameters

char& pid

void assignPassManager(llvm::PMStack& PMS,
                       llvm::PassManagerType PMT)

Description

Assign pass manager to manage this pass

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

Parameters

llvm::PMStack& PMS
llvm::PassManagerType PMT

llvm::Pass* createPrinterPass(
    llvm::raw_ostream& O,
    const std::string& Banner) const

Description

getPrinterPass - Get a pass to print the function corresponding to a Loop.

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

Parameters

llvm::raw_ostream& O
const std::string& Banner

virtual bool doFinalization()

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

virtual bool doInitialization(
    llvm::Loop* L,
    llvm::LPPassManager& LPM)

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

Parameters

llvm::Loop* L
llvm::LPPassManager& LPM

llvm::PassManagerType
getPotentialPassManagerType() const

Description

Return what kind of Pass Manager can manage this pass.

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

void preparePassManager(llvm::PMStack& PMS)

Description

Check if available pass managers are suitable for this pass or not.

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

Parameters

llvm::PMStack& PMS

virtual bool runOnLoop(llvm::Loop* L,
                       llvm::LPPassManager& LPM)

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

Parameters

llvm::Loop* L
llvm::LPPassManager& LPM

bool skipLoop(const llvm::Loop* L) const

Description

Optional passes call this function to check whether the pass should be skipped. This is the case when Attribute::OptimizeNone is set or when optimization bisect is over the limit.

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

Parameters

const llvm::Loop* L