LLVM 19.0.0git
Classes | Namespaces
PassManagerInternal.h File Reference

This header provides internal APIs and implementation details used by the pass management interfaces exposed in PassManager.h. More...

#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Analysis.h"
#include "llvm/Support/raw_ostream.h"
#include <memory>
#include <utility>

Go to the source code of this file.

Classes

struct  llvm::detail::PassConcept< IRUnitT, AnalysisManagerT, ExtraArgTs >
 Template for the abstract base class used to dispatch polymorphically over pass objects. More...
 
struct  llvm::detail::PassModel< IRUnitT, PassT, AnalysisManagerT, ExtraArgTs >
 A template wrapper used to implement the polymorphic API. More...
 
struct  llvm::detail::AnalysisResultConcept< IRUnitT, InvalidatorT >
 Abstract concept of an analysis result. More...
 
class  llvm::detail::ResultHasInvalidateMethod< IRUnitT, ResultT >
 SFINAE metafunction for computing whether ResultT provides an invalidate member function. More...
 
struct  llvm::detail::AnalysisResultModel< IRUnitT, PassT, ResultT, InvalidatorT, false >
 Specialization of AnalysisResultModel which provides the default invalidate functionality. More...
 
struct  llvm::detail::AnalysisResultModel< IRUnitT, PassT, ResultT, InvalidatorT, true >
 Specialization of AnalysisResultModel which delegates invalidate handling to ResultT. More...
 
struct  llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs >
 Abstract concept of an analysis pass. More...
 
struct  llvm::detail::AnalysisPassModel< IRUnitT, PassT, InvalidatorT, ExtraArgTs >
 Wrapper to model the analysis pass concept. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::detail
 These are wrappers over isa* function that allow them to be used in generic algorithms such as llvm:all_of, llvm::none_of, etc.
 

Detailed Description

This header provides internal APIs and implementation details used by the pass management interfaces exposed in PassManager.h.

To understand more context of why these particular interfaces are needed, see that header file. None of these APIs should be used elsewhere.

Definition in file PassManagerInternal.h.