Inherits Visitor, and Backtrack.
Inherited by BMV2::MidEnd, DPDK::ByteAlignment, DPDK::CollectLocalStructAndFlatten, DPDK::CollectProgramStructure, DPDK::ConvertActionSelectorAndProfile, DPDK::ConvertInternetChecksum, DPDK::ConvertLogicalExpression, DPDK::ConvertLookahead, DPDK::DpdkAddPseudoHeader, DPDK::DpdkArchFirst, DPDK::DpdkArchLast, DPDK::DpdkHandleIPSec, DPDK::DpdkMidEnd, DPDK::EliminateHeaderCopy, DPDK::EliminateUnusedAction, EBPF::Lower, P4::AddMissingIdAnnotations, P4::BindTypeVariables, P4::CheckConstants, P4::CheckCoreMethods, P4::ConstantFolding, P4::ConvertEnums, P4::ConvertErrors, P4::DefaultArguments, P4::DefaultValues, P4::EliminateInvalidHeaders, P4::EliminateNewtype, P4::EliminateSerEnums, P4::EliminateSwitch, P4::EliminateTuples, P4::EliminateTypedef, P4::EvaluatorPass, P4::ExpandEmit, P4::ExpandLookahead, P4::FlattenHeaderUnion, P4::FlattenHeaders, P4::FlattenInterfaceStructs, P4::FlattenLogMsg, P4::GlobalCopyPropagation, P4::HSIndexSimplifier, P4::HandleNoMatch, P4::InlineActions, P4::InlineFunctions, P4::InlinePass, P4::LocalCopyPropagation, P4::LocalizeAllActions, P4::MoveActionsToTables, P4::NestedStructs, P4::OrderArguments, P4::ParseAnnotationBodies, P4::ParserRewriter, P4::ParsersUnroll, P4::RemoveActionParameters, P4::RemoveAssertAssume, P4::RemoveDontcareArgs, P4::RemoveExits, P4::RemoveLeftSlices, P4::RemoveMiss, P4::RemoveParserIfs, P4::RemoveRedundantParsers, P4::RemoveReturns, P4::RemoveSelectBooleans, P4::ReplaceSelectRange, P4::ResetHeaders, P4::SetHeaders, P4::SimplifyComparisons, P4::SimplifyDefUse, P4::SimplifyKey, P4::SimplifyParsers, P4::SimplifySelectCases, P4::SimplifySelectList, P4::SimplifySwitch, P4::SingleArgumentSelect, P4::SpecializeGenericFunctions, P4::StaticAssert, P4::StrengthReduction, P4::StructInitializers, P4::SynthesizeActions, P4::TableHit, P4::TableKeyNames, P4::TypeChecking, P4::UniqueNames, P4::UniqueParameters, P4::UselessCasts, P4Test::MidEnd, P4Tools::MidEnd, P4V1::Converter, P4V1::FixMultiEntryPoint, PassIf [virtual], PassRepeatUntil [virtual], PassRepeated [virtual], TC::Backend, TypeCheck, and graphs::MidEnd.
 | 
| 
  | PassManager (const PassManager &)=default | 
|   | 
| 
  | PassManager (const std::initializer_list< VisitorRef > &init) | 
|   | 
| 
  | PassManager (PassManager &&)=default | 
|   | 
| 
void  | addDebugHook (DebugHook h, bool recursive=false) | 
|   | 
| 
void  | addDebugHooks (std::vector< DebugHook > hooks, bool recursive=false) | 
|   | 
| 
void  | addPasses (const std::initializer_list< VisitorRef > &init) | 
|   | 
| const IR::Node *  | apply_visitor (const IR::Node *, const char *=0) override | 
|   | 
| bool  | backtrack (trigger &trig) override | 
|   | 
| PassManager *  | clone () const override | 
|   | 
| 
void  | early_exit () | 
|   | 
| 
void  | listPasses (std::ostream &, cstring sep) const | 
|   | 
| bool  | never_backtracks () override | 
|   | 
| 
void  | removePasses (const std::vector< cstring > &exclude) | 
|   | 
| 
void  | setStopOnError (bool stop) | 
|   | 
| 
virtual bool  | check_clone (const Visitor *a) | 
|   | 
| 
virtual bool  | check_global (cstring) | 
|   | 
| 
virtual void  | clear_globals () | 
|   | 
| 
virtual ControlFlowVisitor *  | controlFlowVisitor () | 
|   | 
| 
virtual void  | end_apply () | 
|   | 
| 
virtual void  | end_apply (const IR::Node *root) | 
|   | 
| 
virtual void  | erase_global (cstring) | 
|   | 
| 
template<class T >  | 
| const T *  | findContext () const | 
|   | 
| 
template<class T >  | 
| const T *  | findContext (const Context *&c) const | 
|   | 
| 
template<class T >  | 
| const T *  | findOrigCtxt () const | 
|   | 
| 
template<class T >  | 
| const T *  | findOrigCtxt (const Context *&c) const | 
|   | 
| 
virtual Visitor &  | flow_clone () | 
|   | 
| virtual void  | flow_merge (Visitor &) | 
|   | 
| 
virtual bool  | flow_merge_closure (Visitor &) | 
|   | 
| 
virtual void  | flow_merge_global_from (cstring) | 
|   | 
| virtual void  | flow_merge_global_to (cstring) | 
|   | 
| 
const Context *  | getChildContext () const | 
|   | 
| 
int  | getChildrenVisited () const | 
|   | 
| 
const Context *  | getContext () const | 
|   | 
| 
int  | getContextDepth () const | 
|   | 
| const IR::Node *  | getCurrentNode () const | 
|   | 
| 
template<class T >  | 
| const T *  | getCurrentNode () const | 
|   | 
| 
const IR::Node *  | getOriginal () const | 
|   | 
| 
template<class T >  | 
| const T *  | getOriginal () const | 
|   | 
| 
template<class T >  | 
| const T *  | getParent () const | 
|   | 
| 
virtual bool  | has_flow_joins () const | 
|   | 
| 
profile_t  | init_apply (const IR::Node *root, const Context *parent_context) | 
|   | 
| 
bool  | isInContext (const IR::Node *n) const | 
|   | 
| 
virtual const char *  | name () const | 
|   | 
| 
template<class T >  | 
| void  | parallel_visit (const IR::Vector< T > &v, const char *name, int cidx) | 
|   | 
| 
template<class T >  | 
| void  | parallel_visit (const IR::Vector< T > &v, const char *name=0) | 
|   | 
| 
template<class T >  | 
| void  | parallel_visit (IR::Vector< T > &v, const char *name, int cidx) | 
|   | 
| 
template<class T >  | 
| void  | parallel_visit (IR::Vector< T > &v, const char *name=0) | 
|   | 
| 
void  | print_context () const | 
|   | 
| 
const Visitor &  | setCalledBy (const Visitor *visitor) | 
|   | 
| 
void  | setName (const char *name) | 
|   | 
| 
void  | visit (const IR::Node &n, const char *name, int cidx) | 
|   | 
| 
void  | visit (const IR::Node &n, const char *name=0) | 
|   | 
| 
void  | visit (const IR::Node *&n, const char *name, int cidx) | 
|   | 
| 
void  | visit (const IR::Node *&n, const char *name=0) | 
|   | 
| 
void  | visit (const IR::Node *const &n, const char *name, int cidx) | 
|   | 
| 
void  | visit (const IR::Node *const &n, const char *name=0) | 
|   | 
| 
void  | visit (IR::Node &n, const char *name, int cidx) | 
|   | 
| 
void  | visit (IR::Node &n, const char *name=0) | 
|   | 
| 
void  | visit (IR::Node *&, const char *=0, int=0) | 
|   | 
| 
template<class T , typename  = std::enable_if_t<Util::has_SourceInfo_v<T>>, class... Args>  | 
| void  | warn (const int kind, const char *format, const T &node, Args &&...args) | 
|   | The const ref variant of the above. 
  | 
|   | 
| 
template<class T , typename  = std::enable_if_t<Util::has_SourceInfo_v<T>>, class... Args>  | 
| void  | warn (const int kind, const char *format, const T *node, Args &&...args) | 
|   | 
| bool  | warning_enabled (int warning_kind) const | 
|   | 
 | 
| 
safe_vector< DebugHook >  | debugHooks | 
|   | 
| 
safe_vector< Visitor * >  | passes | 
|   | 
| 
bool  | running = false | 
|   | 
| 
unsigned  | seqNo = 0 | 
|   | 
| 
bool  | stop_on_error = true | 
|   | 
| 
bool  | dontForwardChildrenBeforePreorder = false | 
|   | 
| 
bool  | joinFlows = false | 
|   | 
| 
bool  | visitDagOnce = true | 
|   | 
◆ apply_visitor()
  
  
      
        
          | const IR::Node * PassManager::apply_visitor  | 
          ( | 
          const IR::Node * |           program,  | 
         
        
           | 
           | 
          const char * |            = 0 ) | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ backtrack()
  
  
      
        
          | bool PassManager::backtrack  | 
          ( | 
          trigger & |           trig | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ clone()
◆ init_apply()
  
  | 
      
   | 
  
inlineoverrideprotectedvirtual   | 
  
 
 
◆ never_backtracks()
  
  
      
        
          | bool PassManager::never_backtracks  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   |