LLVM 18.0.0git
Classes | Namespaces | Functions
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/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 <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...
 

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.
 

Detailed Description

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

Definition in file PassBuilder.h.