class ModuleToPostOrderCGSCCPassAdaptor

Declaration

template <typename CGSCCPassT>
class ModuleToPostOrderCGSCCPassAdaptor { /* full declaration omitted */ };

Description

The core module pass which does a post-order walk of the SCCs and runs a CGSCC pass over each one. Designed to allow composition of a CGSCCPass(Manager) and a ModulePassManager. Note that this pass must be run with a module analysis manager as it uses the LazyCallGraph analysis. It will also run the\c CGSCCAnalysisManagerModuleProxy analysis prior to running the CGSCC pass over the module to enable a \c FunctionAnalysisManager to be used within this run safely.

Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:330

Templates

CGSCCPassT

Method Overview

Methods

ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(
    CGSCCPassT Pass)

Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:333

Parameters

CGSCCPassT Pass

ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(
    const ModuleToPostOrderCGSCCPassAdaptor<
        CGSCCPassT>& Arg)

Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:338

Parameters

const ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT>& Arg

ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(
    ModuleToPostOrderCGSCCPassAdaptor<
        CGSCCPassT>&& Arg)

Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:342

Parameters

ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>&& Arg

llvm::PreservedAnalyses run(
    llvm::Module& M,
    llvm::ModuleAnalysisManager& AM)

Description

Runs the CGSCC pass across every SCC in the module.

Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:357

Parameters

llvm::Module& M
llvm::ModuleAnalysisManager& AM