LLZK 2.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
llzk::polymorphic::TemplateSymbolBindingOpInterface Class Reference
Inheritance diagram for llzk::polymorphic::TemplateSymbolBindingOpInterface:
[legend]
Collaboration diagram for llzk::polymorphic::TemplateSymbolBindingOpInterface:
[legend]

Classes

struct  Trait

Public Types

using Visibility = mlir::SymbolTable::Visibility

Public Member Functions

::std::optional<::mlir::Type > getTypeOpt ()
 Gets the optional type of this constant symbol.
 operator::mlir::SymbolOpInterface () const
::mlir::StringAttr getNameAttr ()
 Returns the name of this symbol.
void setName (::mlir::StringAttr name)
 Sets the name of this symbol.
mlir::SymbolTable::Visibility getVisibility ()
 Gets the visibility of this symbol.
bool isNested ()
 Returns true if this symbol has nested visibility.
bool isPrivate ()
 Returns true if this symbol has private visibility.
bool isPublic ()
 Returns true if this symbol has public visibility.
void setVisibility (mlir::SymbolTable::Visibility vis)
 Sets the visibility of this symbol.
void setNested ()
 Sets the visibility of this symbol to be nested.
void setPrivate ()
 Sets the visibility of this symbol to be private.
void setPublic ()
 Sets the visibility of this symbol to be public.
::std::optional<::mlir::SymbolTable::UseRange > getSymbolUses (::mlir::Operation *from)
 Get all of the uses of the current symbol that are nested within the given operation 'from'.
bool symbolKnownUseEmpty (::mlir::Operation *from)
 Return if the current symbol is known to have no uses that are nested within the given operation 'from'.
::llvm::LogicalResult replaceAllSymbolUses (::mlir::StringAttr newSymbol, ::mlir::Operation *from)
 Attempt to replace all uses of the current symbol with the provided symbol 'newSymbol' that are nested within the given operation 'from'.
bool isOptionalSymbol ()
 Returns true if this operation optionally defines a symbol based on the presence of the symbol name.
bool canDiscardOnUseEmpty ()
 Returns true if this operation can be discarded if it has no remaining symbol uses.
bool isDeclaration ()
 Returns true if this operation is a declaration of a symbol (as opposed to a definition).
::mlir::StringRef getName ()
 Convenience version of getNameAttr that returns a StringRef.
void setName (::mlir::StringRef name)
 Convenience version of setName that take a StringRef.

Detailed Description

Definition at line 51 of file OpInterfaces.h.inc.

Member Typedef Documentation

◆ Visibility

Definition at line 109 of file OpInterfaces.h.inc.

Member Function Documentation

◆ canDiscardOnUseEmpty()

bool llzk::polymorphic::TemplateSymbolBindingOpInterface::canDiscardOnUseEmpty ( )

Returns true if this operation can be discarded if it has no remaining symbol uses.

Definition at line 78 of file OpInterfaces.cpp.inc.

◆ getName()

::mlir::StringRef llzk::polymorphic::TemplateSymbolBindingOpInterface::getName ( )
inline

Convenience version of getNameAttr that returns a StringRef.

Definition at line 112 of file OpInterfaces.h.inc.

◆ getNameAttr()

mlir::StringAttr llzk::polymorphic::TemplateSymbolBindingOpInterface::getNameAttr ( )

Returns the name of this symbol.

Definition at line 14 of file OpInterfaces.cpp.inc.

◆ getSymbolUses()

std::optional<::mlir::SymbolTable::UseRange > llzk::polymorphic::TemplateSymbolBindingOpInterface::getSymbolUses ( ::mlir::Operation * from)

Get all of the uses of the current symbol that are nested within the given operation 'from'.

Note: See mlir::SymbolTable::getSymbolUses for more details.

Definition at line 56 of file OpInterfaces.cpp.inc.

◆ getTypeOpt()

std::optional<::mlir::Type > llzk::polymorphic::TemplateSymbolBindingOpInterface::getTypeOpt ( )

Gets the optional type of this constant symbol.

Definition at line 10 of file OpInterfaces.cpp.inc.

◆ getVisibility()

mlir::SymbolTable::Visibility llzk::polymorphic::TemplateSymbolBindingOpInterface::getVisibility ( )

Gets the visibility of this symbol.

Definition at line 22 of file OpInterfaces.cpp.inc.

◆ isDeclaration()

bool llzk::polymorphic::TemplateSymbolBindingOpInterface::isDeclaration ( )

Returns true if this operation is a declaration of a symbol (as opposed to a definition).

Definition at line 83 of file OpInterfaces.cpp.inc.

◆ isNested()

bool llzk::polymorphic::TemplateSymbolBindingOpInterface::isNested ( )

Returns true if this symbol has nested visibility.

Definition at line 26 of file OpInterfaces.cpp.inc.

◆ isOptionalSymbol()

bool llzk::polymorphic::TemplateSymbolBindingOpInterface::isOptionalSymbol ( )

Returns true if this operation optionally defines a symbol based on the presence of the symbol name.

Definition at line 73 of file OpInterfaces.cpp.inc.

◆ isPrivate()

bool llzk::polymorphic::TemplateSymbolBindingOpInterface::isPrivate ( )

Returns true if this symbol has private visibility.

Definition at line 30 of file OpInterfaces.cpp.inc.

◆ isPublic()

bool llzk::polymorphic::TemplateSymbolBindingOpInterface::isPublic ( )

Returns true if this symbol has public visibility.

Definition at line 34 of file OpInterfaces.cpp.inc.

◆ operator::mlir::SymbolOpInterface()

llzk::polymorphic::TemplateSymbolBindingOpInterface::operator::mlir::SymbolOpInterface ( ) const
inline

Definition at line 62 of file OpInterfaces.h.inc.

◆ replaceAllSymbolUses()

llvm::LogicalResult llzk::polymorphic::TemplateSymbolBindingOpInterface::replaceAllSymbolUses ( ::mlir::StringAttr newSymbol,
::mlir::Operation * from )

Attempt to replace all uses of the current symbol with the provided symbol 'newSymbol' that are nested within the given operation 'from'.

Note: See mlir::SymbolTable::replaceAllSymbolUses for more details.

Definition at line 68 of file OpInterfaces.cpp.inc.

◆ setName() [1/2]

void llzk::polymorphic::TemplateSymbolBindingOpInterface::setName ( ::mlir::StringAttr name)

Sets the name of this symbol.

Definition at line 18 of file OpInterfaces.cpp.inc.

◆ setName() [2/2]

void llzk::polymorphic::TemplateSymbolBindingOpInterface::setName ( ::mlir::StringRef name)
inline

Convenience version of setName that take a StringRef.

Definition at line 117 of file OpInterfaces.h.inc.

◆ setNested()

void llzk::polymorphic::TemplateSymbolBindingOpInterface::setNested ( )

Sets the visibility of this symbol to be nested.

Definition at line 42 of file OpInterfaces.cpp.inc.

◆ setPrivate()

void llzk::polymorphic::TemplateSymbolBindingOpInterface::setPrivate ( )

Sets the visibility of this symbol to be private.

Definition at line 46 of file OpInterfaces.cpp.inc.

◆ setPublic()

void llzk::polymorphic::TemplateSymbolBindingOpInterface::setPublic ( )

Sets the visibility of this symbol to be public.

Definition at line 50 of file OpInterfaces.cpp.inc.

◆ setVisibility()

void llzk::polymorphic::TemplateSymbolBindingOpInterface::setVisibility ( mlir::SymbolTable::Visibility vis)

Sets the visibility of this symbol.

Definition at line 38 of file OpInterfaces.cpp.inc.

◆ symbolKnownUseEmpty()

bool llzk::polymorphic::TemplateSymbolBindingOpInterface::symbolKnownUseEmpty ( ::mlir::Operation * from)

Return if the current symbol is known to have no uses that are nested within the given operation 'from'.

Note: See mlir::SymbolTable::symbolKnownUseEmpty for more details.

Definition at line 62 of file OpInterfaces.cpp.inc.


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