LLVM 19.0.0git
Public Member Functions | Friends | List of all members
llvm::detail::MachinePassModel< PassT > Struct Template Reference

#include "llvm/CodeGen/MachinePassManager.h"

Inheritance diagram for llvm::detail::MachinePassModel< PassT >:
Inheritance graph
[legend]

Public Member Functions

 MachinePassModel (PassT &&Pass)
 
MachinePassModeloperator= (MachinePassModel RHS)
 
MachinePassModeloperator= (const MachinePassModel &)=delete
 
PreservedAnalyses run (MachineFunction &IR, MachineFunctionAnalysisManager &AM) override
 
- Public Member Functions inherited from llvm::detail::PassModel< MachineFunction, PassT, MachineFunctionAnalysisManager >
 PassModel (PassT Pass)
 
 PassModel (const PassModel &Arg)
 
 PassModel (PassModel &&Arg)
 
PassModeloperator= (PassModel RHS)
 
PreservedAnalyses run (MachineFunction &IR, MachineFunctionAnalysisManager &AM, ExtraArgTs... ExtraArgs) override
 The polymorphic API which runs the pass over a given IR entity.
 
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) override
 
StringRef name () const override
 Polymorphic method to access the name of a pass.
 
bool isRequired () const override
 Polymorphic method to let a pass optionally exempted from skipping by PassInstrumentation.
 
- Public Member Functions inherited from llvm::detail::PassConcept< IRUnitT, AnalysisManagerT, ExtraArgTs >
virtual ~PassConcept ()=default
 
virtual PreservedAnalyses run (IRUnitT &IR, AnalysisManagerT &AM, ExtraArgTs... ExtraArgs)=0
 The polymorphic API which runs the pass over a given IR entity.
 
virtual void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)=0
 
virtual StringRef name () const =0
 Polymorphic method to access the name of a pass.
 
virtual bool isRequired () const =0
 Polymorphic method to let a pass optionally exempted from skipping by PassInstrumentation.
 

Friends

void swap (MachinePassModel &LHS, MachinePassModel &RHS)
 

Additional Inherited Members

- Public Types inherited from llvm::detail::PassModel< MachineFunction, PassT, MachineFunctionAnalysisManager >
using has_required_t = decltype(std::declval< T & >().isRequired())
 
- Static Public Member Functions inherited from llvm::detail::PassModel< MachineFunction, PassT, MachineFunctionAnalysisManager >
static std::enable_if_t< is_detected< has_required_t, T >::value, boolpassIsRequiredImpl ()
 
static std::enable_if_t<!is_detected< has_required_t, T >::value, boolpassIsRequiredImpl ()
 
- Public Attributes inherited from llvm::detail::PassModel< MachineFunction, PassT, MachineFunctionAnalysisManager >
PassT Pass
 

Detailed Description

template<typename PassT>
struct llvm::detail::MachinePassModel< PassT >

Definition at line 42 of file MachinePassManager.h.

Constructor & Destructor Documentation

◆ MachinePassModel()

template<typename PassT >
llvm::detail::MachinePassModel< PassT >::MachinePassModel ( PassT &&  Pass)
inlineexplicit

Definition at line 44 of file MachinePassManager.h.

Member Function Documentation

◆ operator=() [1/2]

template<typename PassT >
MachinePassModel & llvm::detail::MachinePassModel< PassT >::operator= ( const MachinePassModel< PassT > &  )
delete

◆ operator=() [2/2]

template<typename PassT >
MachinePassModel & llvm::detail::MachinePassModel< PassT >::operator= ( MachinePassModel< PassT RHS)
inline

Definition at line 53 of file MachinePassManager.h.

References RHS.

◆ run()

template<typename PassT >
PreservedAnalyses llvm::detail::MachinePassModel< PassT >::run ( MachineFunction IR,
MachineFunctionAnalysisManager AM 
)
inlineoverride

Definition at line 59 of file MachinePassManager.h.

References llvm::errs(), IR, and llvm::report_fatal_error().

Friends And Related Function Documentation

◆ swap

template<typename PassT >
void swap ( MachinePassModel< PassT > &  LHS,
MachinePassModel< PassT > &  RHS 
)
friend

Definition at line 48 of file MachinePassManager.h.


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