Class SequentialObj#

Inheritance Relationships#

Base Type#

Class Documentation#

class SequentialObj : public tvm::transform::PassObj#

The SequentialObj contains a set of passes that transform programs from one AST to another semantically equivalent one.

One example of this level of pass is that the pass manager needs to correctly perform a host of optimizations with a given optimization level and disabled passes.

Public Functions

inline explicit SequentialObj(PassInfo pass_info)#
inline explicit SequentialObj(ffi::UnsafeInit tag)#
inline virtual PassInfo Info() const override#

Get the pass information/meta data.

virtual IRModule operator()(IRModule mod, const PassContext &pass_ctx) const final#

Perform optimizations on a series of passes. The aforementioned typical pass manager jobs could be done by it. This function could be overloaded to focus on different metrics, i.e. performance, memory footprint, etc.

Parameters:
  • mod – The module that these passes are applied on.

  • pass_ctx – The context that these passes execute on.

Returns:

Return the updated module.

Public Members

PassInfo pass_info#
tvm::ffi::Array<Pass> passes#

A list of passes that used to compose a sequential pass.

Public Static Functions

static inline void RegisterReflection()#
static inline int32_t _GetOrAllocRuntimeTypeIndex()#
static inline int32_t RuntimeTypeIndex() noexcept#