LLVM 20.0.0git
Classes | Namespaces | Functions | Variables
PassBuilder.h File Reference

Interfaces for registering analysis passes, producing common pass manager configurations, and parsing of pass pipelines. More...

#include "llvm/Analysis/CGSCCPassManager.h"
#include "llvm/CodeGen/MachinePassManager.h"
#include "llvm/CodeGen/RegAllocCommon.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Passes/OptimizationLevel.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/PGOOptions.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/IPO/Inliner.h"
#include "llvm/Transforms/IPO/ModuleInliner.h"
#include "llvm/Transforms/Instrumentation.h"
#include "llvm/Transforms/Scalar/LoopPassManager.h"
#include <optional>
#include <vector>

Go to the source code of this file.

Classes

class  llvm::PipelineTuningOptions
 Tunable parameters for passes in the default pipelines. More...
 
class  llvm::PassBuilder
 This class provides access to building LLVM's passes. More...
 
struct  llvm::PassBuilder::PipelineElement
 A struct to capture parsed pass pipeline names. More...
 
struct  llvm::NoOpModulePass
 No-op module pass which does nothing. More...
 
class  llvm::NoOpModuleAnalysis
 No-op module analysis. More...
 
struct  llvm::NoOpModuleAnalysis::Result
 
struct  llvm::NoOpCGSCCPass
 No-op CGSCC pass which does nothing. More...
 
class  llvm::NoOpCGSCCAnalysis
 No-op CGSCC analysis. More...
 
struct  llvm::NoOpCGSCCAnalysis::Result
 
struct  llvm::NoOpFunctionPass
 No-op function pass which does nothing. More...
 
class  llvm::NoOpFunctionAnalysis
 No-op function analysis. More...
 
struct  llvm::NoOpFunctionAnalysis::Result
 
struct  llvm::NoOpLoopNestPass
 No-op loop nest pass which does nothing. More...
 
struct  llvm::NoOpLoopPass
 No-op loop pass which does nothing. More...
 
struct  llvm::NoOpMachineFunctionPass
 No-op machine function pass which does nothing. More...
 
class  llvm::NoOpLoopAnalysis
 No-op loop analysis. More...
 
struct  llvm::NoOpLoopAnalysis::Result
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::vfs
 

Functions

template<typename AnalysisT , typename IRUnitT , typename AnalysisManagerT , typename... ExtraArgTs>
bool llvm::parseAnalysisUtilityPasses (StringRef AnalysisName, StringRef PipelineName, PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs... > &PM)
 This utility template takes care of adding require<> and invalidate<> passes for an analysis to a given PassManager.
 

Variables

cl::opt< boolllvm::PrintPipelinePasses
 Common option used by multiple tools to print pipeline passes.
 

Detailed Description

Interfaces for registering analysis passes, producing common pass manager configurations, and parsing of pass pipelines.

Definition in file PassBuilder.h.