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

GlobalVarSupply can be used to generate unique GlobalVars. More...

#include <global_var_supply.h>

Inheritance diagram for tvm::GlobalVarSupplyNode:
Collaboration diagram for tvm::GlobalVarSupplyNode:

Public Member Functions

 GlobalVarSupplyNode ()
 Empty constructor. Will use an empty NameSupply. More...
 
 GlobalVarSupplyNode (NameSupply name_supply, std::unordered_map< std::string, GlobalVar > name_to_var_map={})
 Constructor. More...
 
GlobalVar FreshGlobal (String name, bool add_prefix=true)
 Generates a unique GlobalVar from this supply. More...
 
GlobalVar UniqueGlobalFor (const String &name, bool add_prefix=true)
 Looks up for a GlobalVar with the given name in this supply. If no entry is found, creates one, places it in the cache and returns it. More...
 
void ReserveGlobalVar (const GlobalVar &var, bool allow_conflict=false)
 Reserves an existing GlobalVar with this supply. More...
 
 TVM_DECLARE_FINAL_OBJECT_INFO (GlobalVarSupplyNode, Object)
 

Static Public Member Functions

static void RegisterReflection ()
 

Public Attributes

NameSupply name_supply_
 The NameSupply used to generate unique name hints to GlobalVars. More...
 

Static Public Attributes

static constexpr const char * _type_key = "ir.GlobalVarSupply"
 

Detailed Description

GlobalVarSupply can be used to generate unique GlobalVars.

Constructor & Destructor Documentation

◆ GlobalVarSupplyNode() [1/2]

tvm::GlobalVarSupplyNode::GlobalVarSupplyNode ( )
inline

Empty constructor. Will use an empty NameSupply.

◆ GlobalVarSupplyNode() [2/2]

tvm::GlobalVarSupplyNode::GlobalVarSupplyNode ( NameSupply  name_supply,
std::unordered_map< std::string, GlobalVar name_to_var_map = {} 
)
explicit

Constructor.

Parameters
name_supplyThe NameSupply to use for generating the names of fresh GlobalVars.
name_to_var_mapAn optional map.

Member Function Documentation

◆ FreshGlobal()

GlobalVar tvm::GlobalVarSupplyNode::FreshGlobal ( String  name,
bool  add_prefix = true 
)

Generates a unique GlobalVar from this supply.

Parameters
nameThe name from which the name of the GlobalVar is derived.
add_prefixIf set to true, then the prefix of the contained NameSupply will be prepended to the name.
Returns
A unique GlobalVar.

◆ RegisterReflection()

static void tvm::GlobalVarSupplyNode::RegisterReflection ( )
inlinestatic

◆ ReserveGlobalVar()

void tvm::GlobalVarSupplyNode::ReserveGlobalVar ( const GlobalVar var,
bool  allow_conflict = false 
)

Reserves an existing GlobalVar with this supply.

Parameters
varThe GlobalVar to be registered.
allow_conflictAllow conflict with other GlobalVars that have the same name.

◆ TVM_DECLARE_FINAL_OBJECT_INFO()

tvm::GlobalVarSupplyNode::TVM_DECLARE_FINAL_OBJECT_INFO ( GlobalVarSupplyNode  ,
Object   
)

◆ UniqueGlobalFor()

GlobalVar tvm::GlobalVarSupplyNode::UniqueGlobalFor ( const String &  name,
bool  add_prefix = true 
)

Looks up for a GlobalVar with the given name in this supply. If no entry is found, creates one, places it in the cache and returns it.

Parameters
nameThe name of the GlobalVar to search for.
add_prefixIf set to true, the prefix of the contained NameSupply will be prepended to the name before performing the search.
Returns
A cached GlobalVar.

Member Data Documentation

◆ _type_key

constexpr const char* tvm::GlobalVarSupplyNode::_type_key = "ir.GlobalVarSupply"
staticconstexpr

◆ name_supply_

NameSupply tvm::GlobalVarSupplyNode::name_supply_

The NameSupply used to generate unique name hints to GlobalVars.


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