tvm
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
tvm::transform::PassContextNode Class Reference

PassContextNode contains the information that a pass can rely on, such as analysis results. More...

#include <transform.h>

Inheritance diagram for tvm::transform::PassContextNode:
Collaboration diagram for tvm::transform::PassContextNode:

Public Member Functions

 PassContextNode ()=default
 
template<typename TObjectRef >
Optional< TObjectRef > GetConfig (const std::string &key, Optional< TObjectRef > default_value=Optional< TObjectRef >(nullptr)) const
 Get a config value from the pass context. More...
 
template<typename TObjectRef >
Optional< TObjectRef > GetConfig (const std::string &key, TObjectRef default_value) const
 
void VisitAttrs (AttrVisitor *v)
 
Array< ObjectRefGetTraceStack ()
 
void PushTrace (ObjectRef new_trace)
 
void PopTrace ()
 
int GetTraceStackSize ()
 
ObjectRef GetCurrentTrace ()
 
void SetNumEvals (int _num_evals)
 
void IncNumEvals (int _num_evals)
 
Optional< ObjectRefGetTuningAPIDatabase ()
 
 TVM_DECLARE_FINAL_OBJECT_INFO (PassContextNode, Object)
 
- Public Member Functions inherited from tvm::runtime::Object
uint32_t type_index () const
 
std::string GetTypeKey () const
 
size_t GetTypeKeyHash () const
 
template<typename TargetType >
bool IsInstance () const
 
bool unique () const
 
 Object ()
 
 Object (const Object &other)
 
 Object (Object &&other)
 
Objectoperator= (const Object &other)
 
Objectoperator= (Object &&other)
 

Public Attributes

int opt_level {2}
 The default optimization level. More...
 
Array< Stringrequired_pass
 The list of required passes. More...
 
Array< Stringdisabled_pass
 The list of disabled passes. More...
 
Optional< DiagnosticContextdiag_ctx
 The diagnostic context. More...
 
Map< String, ObjectRefconfig
 Pass specific configurations. More...
 
Array< instrument::PassInstrumentinstruments
 A list of pass instrument implementations. More...
 
Array< ObjectReftrace_stack
 Trace stack for relax pass infra. More...
 
Optional< Map< String, Bool > > make_traceable
 List of passes to be traced. If not defined, make every pass traceable. More...
 
int num_evals {0}
 Number of evaluations conducted in the pass pipeline. More...
 
Optional< ObjectReftuning_api_database
 Database for tuning API. More...
 

Static Public Attributes

static constexpr const char * _type_key = "transform.PassContext"
 
static constexpr bool _type_has_method_sequal_reduce = false
 
- Static Public Attributes inherited from tvm::runtime::Object
static constexpr const char * _type_key = "runtime.Object"
 
static constexpr bool _type_final = false
 
static constexpr uint32_t _type_child_slots = 0
 
static constexpr bool _type_child_slots_can_overflow = true
 
static constexpr bool _type_has_method_visit_attrs = true
 
static constexpr bool _type_has_method_sequal_reduce = false
 
static constexpr bool _type_has_method_shash_reduce = false
 
static constexpr uint32_t _type_index = TypeIndex::kDynamic
 

Additional Inherited Members

- Public Types inherited from tvm::runtime::Object
typedef void(* FDeleter) (Object *self)
 Object deleter. More...
 
using RefCounterType = std::atomic< int32_t >
 
- Static Public Member Functions inherited from tvm::runtime::Object
static std::string TypeIndex2Key (uint32_t tindex)
 Get the type key of the corresponding index from runtime. More...
 
static size_t TypeIndex2KeyHash (uint32_t tindex)
 Get the type key hash of the corresponding index from runtime. More...
 
static uint32_t TypeKey2Index (const std::string &key)
 Get the type index of the corresponding key from runtime. More...
 
static uint32_t _GetOrAllocRuntimeTypeIndex ()
 
static uint32_t RuntimeTypeIndex ()
 
- Protected Member Functions inherited from tvm::runtime::Object
void IncRef ()
 developer function, increases reference counter. More...
 
void DecRef ()
 developer function, decrease reference counter. More...
 
- Static Protected Member Functions inherited from tvm::runtime::Object
static uint32_t GetOrAllocRuntimeTypeIndex (const std::string &key, uint32_t static_tindex, uint32_t parent_tindex, uint32_t type_child_slots, bool type_child_slots_can_overflow)
 Get the type index using type key. More...
 
- Protected Attributes inherited from tvm::runtime::Object
uint32_t type_index_ {0}
 Type index(tag) that indicates the type of the object. More...
 
RefCounterType ref_counter_ {0}
 The internal reference counter. More...
 
FDeleter deleter_ = nullptr
 deleter of this object to enable customized allocation. If the deleter is nullptr, no deletion will be performed. The creator of the object must always set the deleter field properly. More...
 

Detailed Description

PassContextNode contains the information that a pass can rely on, such as analysis results.

See also
PassContext

Constructor & Destructor Documentation

◆ PassContextNode()

tvm::transform::PassContextNode::PassContextNode ( )
default

Member Function Documentation

◆ GetConfig() [1/2]

template<typename TObjectRef >
Optional<TObjectRef> tvm::transform::PassContextNode::GetConfig ( const std::string &  key,
Optional< TObjectRef >  default_value = Optional<TObjectRef>(nullptr) 
) const
inline

Get a config value from the pass context.

Parameters
keyThe config key.
default_valueThe default value if the key does not exist, defaults to nullptr.
Returns
The result
Template Parameters
TOBjectRefthe expected object type.
Exceptions
Errorif the key exists but the value does not match TObjectRef.

◆ GetConfig() [2/2]

template<typename TObjectRef >
Optional<TObjectRef> tvm::transform::PassContextNode::GetConfig ( const std::string &  key,
TObjectRef  default_value 
) const
inline

◆ GetCurrentTrace()

ObjectRef tvm::transform::PassContextNode::GetCurrentTrace ( )
inline

◆ GetTraceStack()

Array<ObjectRef> tvm::transform::PassContextNode::GetTraceStack ( )
inline

◆ GetTraceStackSize()

int tvm::transform::PassContextNode::GetTraceStackSize ( )
inline

◆ GetTuningAPIDatabase()

Optional<ObjectRef> tvm::transform::PassContextNode::GetTuningAPIDatabase ( )
inline

◆ IncNumEvals()

void tvm::transform::PassContextNode::IncNumEvals ( int  _num_evals)
inline

◆ PopTrace()

void tvm::transform::PassContextNode::PopTrace ( )
inline

◆ PushTrace()

void tvm::transform::PassContextNode::PushTrace ( ObjectRef  new_trace)
inline

◆ SetNumEvals()

void tvm::transform::PassContextNode::SetNumEvals ( int  _num_evals)
inline

◆ TVM_DECLARE_FINAL_OBJECT_INFO()

tvm::transform::PassContextNode::TVM_DECLARE_FINAL_OBJECT_INFO ( PassContextNode  ,
Object   
)

◆ VisitAttrs()

void tvm::transform::PassContextNode::VisitAttrs ( AttrVisitor v)
inline

Member Data Documentation

◆ _type_has_method_sequal_reduce

constexpr bool tvm::transform::PassContextNode::_type_has_method_sequal_reduce = false
staticconstexpr

◆ _type_key

constexpr const char* tvm::transform::PassContextNode::_type_key = "transform.PassContext"
staticconstexpr

◆ config

Map<String, ObjectRef> tvm::transform::PassContextNode::config

Pass specific configurations.

◆ diag_ctx

Optional<DiagnosticContext> tvm::transform::PassContextNode::diag_ctx
mutable

The diagnostic context.

◆ disabled_pass

Array<String> tvm::transform::PassContextNode::disabled_pass

The list of disabled passes.

◆ instruments

Array<instrument::PassInstrument> tvm::transform::PassContextNode::instruments

A list of pass instrument implementations.

◆ make_traceable

Optional<Map<String, Bool> > tvm::transform::PassContextNode::make_traceable

List of passes to be traced. If not defined, make every pass traceable.

◆ num_evals

int tvm::transform::PassContextNode::num_evals {0}
mutable

Number of evaluations conducted in the pass pipeline.

◆ opt_level

int tvm::transform::PassContextNode::opt_level {2}

The default optimization level.

◆ required_pass

Array<String> tvm::transform::PassContextNode::required_pass

The list of required passes.

◆ trace_stack

Array<ObjectRef> tvm::transform::PassContextNode::trace_stack
mutable

Trace stack for relax pass infra.

◆ tuning_api_database

Optional<ObjectRef> tvm::transform::PassContextNode::tuning_api_database

Database for tuning API.


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