class InstructionCombiningPass

Declaration

class InstructionCombiningPass : public FunctionPass { /* full declaration omitted */ };

Description

The legacy pass manager's instcombine pass. This is a basic whole-function wrapper around the instcombine utility. It will try to combine all instructions in the function.

Declared at: llvm/include/llvm/Transforms/InstCombine/InstCombine.h:43

Inherits from: FunctionPass

Member Variables

public static char ID

Method Overview

Inherited from FunctionPass:

Inherited from Pass:

Methods

InstructionCombiningPass(
    bool ExpensiveCombines = true)

Declared at: llvm/include/llvm/Transforms/InstCombine/InstCombine.h:51

Parameters

bool ExpensiveCombines = true

InstructionCombiningPass(
    bool ExpensiveCombines,
    unsigned int MaxIterations)

Declared at: llvm/include/llvm/Transforms/InstCombine/InstCombine.h:52

Parameters

bool ExpensiveCombines
unsigned int MaxIterations

void getAnalysisUsage(
    llvm::AnalysisUsage& AU) const

Description

getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis <AnalysisType >() function, below.

Declared at: llvm/include/llvm/Transforms/InstCombine/InstCombine.h:55

Parameters

llvm::AnalysisUsage& AU

bool runOnFunction(llvm::Function& F)

Description

runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.

Declared at: llvm/include/llvm/Transforms/InstCombine/InstCombine.h:56

Parameters

llvm::Function& F