MLIR  20.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
mlir::tblgen::SymbolInfoMap Class Reference

#include "mlir/TableGen/Pattern.h"

Classes

class  SymbolInfo
 

Public Types

using BaseT = std::unordered_multimap< std::string, SymbolInfo >
 
using iterator = BaseT::iterator
 
using const_iterator = BaseT::const_iterator
 

Public Member Functions

 SymbolInfoMap (ArrayRef< SMLoc > loc)
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
bool bindOpArgument (DagNode node, StringRef symbol, const Operator &op, int argIndex, std::optional< int > variadicSubIndex=std::nullopt)
 
bool bindOpResult (StringRef symbol, const Operator &op)
 
bool bindValues (StringRef symbol, int numValues=1)
 
bool bindValue (StringRef symbol)
 
bool bindMultipleValues (StringRef symbol, int numValues)
 
bool bindAttr (StringRef symbol)
 
bool contains (StringRef symbol) const
 
const_iterator find (StringRef key) const
 
const_iterator findBoundSymbol (StringRef key, DagNode node, const Operator &op, int argIndex, std::optional< int > variadicSubIndex) const
 
const_iterator findBoundSymbol (StringRef key, const SymbolInfo &symbolInfo) const
 
std::pair< iterator, iteratorgetRangeOfEqualElements (StringRef key)
 
int count (StringRef key) const
 
int getStaticValueCount (StringRef symbol) const
 
std::string getValueAndRangeUse (StringRef symbol, const char *fmt="{0}", const char *separator=", ") const
 
std::string getAllRangeUse (StringRef symbol, const char *fmt="{0}", const char *separator=", ") const
 
void assignUniqueAlternativeNames ()
 

Static Public Member Functions

static StringRef getValuePackName (StringRef symbol, int *index=nullptr)
 

Detailed Description

Definition at line 250 of file Pattern.h.

Member Typedef Documentation

◆ BaseT

using mlir::tblgen::SymbolInfoMap::BaseT = std::unordered_multimap<std::string, SymbolInfo>

Definition at line 453 of file Pattern.h.

◆ const_iterator

using mlir::tblgen::SymbolInfoMap::const_iterator = BaseT::const_iterator

Definition at line 461 of file Pattern.h.

◆ iterator

using mlir::tblgen::SymbolInfoMap::iterator = BaseT::iterator

Definition at line 456 of file Pattern.h.

Constructor & Destructor Documentation

◆ SymbolInfoMap()

mlir::tblgen::SymbolInfoMap::SymbolInfoMap ( ArrayRef< SMLoc >  loc)
inlineexplicit

Definition at line 252 of file Pattern.h.

Member Function Documentation

◆ assignUniqueAlternativeNames()

void SymbolInfoMap::assignUniqueAlternativeNames ( )

◆ begin() [1/2]

iterator mlir::tblgen::SymbolInfoMap::begin ( )
inline

Definition at line 457 of file Pattern.h.

◆ begin() [2/2]

const_iterator mlir::tblgen::SymbolInfoMap::begin ( ) const
inline

Definition at line 462 of file Pattern.h.

◆ bindAttr()

bool SymbolInfoMap::bindAttr ( StringRef  symbol)

Definition at line 498 of file Pattern.cpp.

Referenced by mlir::tblgen::Pattern::collectBoundSymbols().

◆ bindMultipleValues()

bool SymbolInfoMap::bindMultipleValues ( StringRef  symbol,
int  numValues 
)

Definition at line 491 of file Pattern.cpp.

References getValuePackName().

Referenced by bindValues().

◆ bindOpArgument()

bool SymbolInfoMap::bindOpArgument ( DagNode  node,
StringRef  symbol,
const Operator op,
int  argIndex,
std::optional< int >  variadicSubIndex = std::nullopt 
)

◆ bindOpResult()

bool SymbolInfoMap::bindOpResult ( StringRef  symbol,
const Operator op 
)

Definition at line 472 of file Pattern.cpp.

References getValuePackName().

Referenced by mlir::tblgen::Pattern::collectBoundSymbols().

◆ bindValue()

bool SymbolInfoMap::bindValue ( StringRef  symbol)

Definition at line 486 of file Pattern.cpp.

Referenced by bindValues(), and mlir::tblgen::Pattern::collectBoundSymbols().

◆ bindValues()

bool SymbolInfoMap::bindValues ( StringRef  symbol,
int  numValues = 1 
)

◆ contains()

bool SymbolInfoMap::contains ( StringRef  symbol) const

Definition at line 503 of file Pattern.cpp.

References find().

◆ count()

int SymbolInfoMap::count ( StringRef  key) const

Definition at line 541 of file Pattern.cpp.

References getValuePackName().

◆ end() [1/2]

iterator mlir::tblgen::SymbolInfoMap::end ( )
inline

Definition at line 458 of file Pattern.h.

◆ end() [2/2]

const_iterator mlir::tblgen::SymbolInfoMap::end ( ) const
inline

Definition at line 463 of file Pattern.h.

◆ find()

SymbolInfoMap::const_iterator SymbolInfoMap::find ( StringRef  key) const

Definition at line 507 of file Pattern.cpp.

References getValuePackName().

Referenced by contains(), and getStaticValueCount().

◆ findBoundSymbol() [1/2]

SymbolInfoMap::const_iterator SymbolInfoMap::findBoundSymbol ( StringRef  key,
const SymbolInfo symbolInfo 
) const

Definition at line 522 of file Pattern.cpp.

References getValuePackName().

◆ findBoundSymbol() [2/2]

SymbolInfoMap::const_iterator SymbolInfoMap::findBoundSymbol ( StringRef  key,
DagNode  node,
const Operator op,
int  argIndex,
std::optional< int >  variadicSubIndex 
) const

Definition at line 514 of file Pattern.cpp.

◆ getAllRangeUse()

std::string SymbolInfoMap::getAllRangeUse ( StringRef  symbol,
const char *  fmt = "{0}",
const char *  separator = ", " 
) const

Definition at line 572 of file Pattern.cpp.

References getValuePackName().

◆ getRangeOfEqualElements()

std::pair< SymbolInfoMap::iterator, SymbolInfoMap::iterator > SymbolInfoMap::getRangeOfEqualElements ( StringRef  key)

Definition at line 535 of file Pattern.cpp.

References getValuePackName().

◆ getStaticValueCount()

int SymbolInfoMap::getStaticValueCount ( StringRef  symbol) const

Definition at line 546 of file Pattern.cpp.

References find(), and getValuePackName().

◆ getValueAndRangeUse()

std::string SymbolInfoMap::getValueAndRangeUse ( StringRef  symbol,
const char *  fmt = "{0}",
const char *  separator = ", " 
) const

Definition at line 557 of file Pattern.cpp.

References getValuePackName().

◆ getValuePackName()

StringRef SymbolInfoMap::getValuePackName ( StringRef  symbol,
int *  index = nullptr 
)
static

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