struct UnifyFunctionExitNodes

Declaration

struct UnifyFunctionExitNodes : public FunctionPass { /* 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/Transforms/Utils/UnifyFunctionExitNodes.h:25

Inherits from: FunctionPass

Member Variables

public llvm::BasicBlock* ReturnBlock = nullptr
public llvm::BasicBlock* UnwindBlock = nullptr
public llvm::BasicBlock* UnreachableBlock
public static char ID

Method Overview

Inherited from FunctionPass:

Inherited from Pass:

Methods

UnifyFunctionExitNodes()

Declared at: llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h:32

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/Utils/UnifyFunctionExitNodes.h:35

Parameters

llvm::AnalysisUsage& AU

llvm::BasicBlock* getReturnBlock() const

Declared at: llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h:40

llvm::BasicBlock* getUnreachableBlock() const

Declared at: llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h:42

llvm::BasicBlock* getUnwindBlock() const

Declared at: llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h:41

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/Utils/UnifyFunctionExitNodes.h:44

Parameters

llvm::Function& F