LLVM 20.0.0git
Public Member Functions | List of all members
llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs > Struct Template Referenceabstract

Abstract concept of an analysis pass. More...

#include "llvm/IR/PassManagerInternal.h"

Inheritance diagram for llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs >:
Inheritance graph
[legend]

Public Member Functions

virtual ~AnalysisPassConcept ()=default
 
virtual std::unique_ptr< AnalysisResultConcept< IRUnitT, InvalidatorT > > run (IRUnitT &IR, AnalysisManager< IRUnitT, ExtraArgTs... > &AM, ExtraArgTs... ExtraArgs)=0
 Method to run this analysis over a unit of IR.
 
virtual StringRef name () const =0
 Polymorphic method to access the name of a pass.
 

Detailed Description

template<typename IRUnitT, typename InvalidatorT, typename... ExtraArgTs>
struct llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs >

Abstract concept of an analysis pass.

This concept is parameterized over the IR unit that it can run over and produce an analysis result.

Definition at line 270 of file PassManagerInternal.h.

Constructor & Destructor Documentation

◆ ~AnalysisPassConcept()

template<typename IRUnitT , typename InvalidatorT , typename... ExtraArgTs>
virtual llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs >::~AnalysisPassConcept ( )
virtualdefault

Member Function Documentation

◆ name()

template<typename IRUnitT , typename InvalidatorT , typename... ExtraArgTs>
virtual StringRef llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs >::name ( ) const
pure virtual

Polymorphic method to access the name of a pass.

Implemented in llvm::detail::AnalysisPassModel< IRUnitT, PassT, InvalidatorT, ExtraArgTs >.

◆ run()

template<typename IRUnitT , typename InvalidatorT , typename... ExtraArgTs>
virtual std::unique_ptr< AnalysisResultConcept< IRUnitT, InvalidatorT > > llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs >::run ( IRUnitT &  IR,
AnalysisManager< IRUnitT, ExtraArgTs... > &  AM,
ExtraArgTs...  ExtraArgs 
)
pure virtual

Method to run this analysis over a unit of IR.

Returns
A unique_ptr to the analysis result object to be queried by users.

Implemented in llvm::detail::AnalysisPassModel< IRUnitT, PassT, InvalidatorT, ExtraArgTs >.


The documentation for this struct was generated from the following file: