LLVM  3.7.0
Public Member Functions | List of all members
llvm::detail::AnalysisPassConcept< IRUnitT > Struct Template Referenceabstract

Abstract concept of an analysis pass. More...

#include <PassManagerInternal.h>

Inheritance diagram for llvm::detail::AnalysisPassConcept< IRUnitT >:
[legend]

Public Member Functions

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

Detailed Description

template<typename IRUnitT>
struct llvm::detail::AnalysisPassConcept< IRUnitT >

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 248 of file PassManagerInternal.h.

Constructor & Destructor Documentation

template<typename IRUnitT >
virtual llvm::detail::AnalysisPassConcept< IRUnitT >::~AnalysisPassConcept ( )
inlinevirtual

Definition at line 249 of file PassManagerInternal.h.

Member Function Documentation

template<typename IRUnitT >
virtual StringRef llvm::detail::AnalysisPassConcept< IRUnitT >::name ( )
pure virtual
template<typename IRUnitT >
virtual std::unique_ptr<AnalysisResultConcept<IRUnitT> > llvm::detail::AnalysisPassConcept< IRUnitT >::run ( IRUnitT &  IR,
AnalysisManager< IRUnitT > *  AM 
)
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, false >, and llvm::detail::AnalysisPassModel< IRUnitT, PassT, true >.


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