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

Classes

struct  Trait

Public Types

using Visibility = mlir::SymbolTable::Visibility

Public Member Functions

::llvm::SmallVector<::llzk::verif::InvariantTargetOpInterfacegetLoops ()
 Gets the ops that can be targeted by invariant ops.
 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.

Static Public Member Functions

::mlir::StringLiteral getOperationName ()
 Emulates the static method with the same name found in operations.

Detailed Description

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

Member Typedef Documentation

◆ Visibility

using llzk::verif::ContractTargetOpInterface::Visibility = mlir::SymbolTable::Visibility

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

Member Function Documentation

◆ canDiscardOnUseEmpty()

bool llzk::verif::ContractTargetOpInterface::canDiscardOnUseEmpty ( )

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

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

◆ getLoops()

llvm::SmallVector<::llzk::verif::InvariantTargetOpInterface > llzk::verif::ContractTargetOpInterface::getLoops ( )

Gets the ops that can be targeted by invariant ops.

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

◆ getName()

::mlir::StringRef llzk::verif::ContractTargetOpInterface::getName ( )
inline

Convenience version of getNameAttr that returns a StringRef.

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

◆ getNameAttr()

mlir::StringAttr llzk::verif::ContractTargetOpInterface::getNameAttr ( )

Returns the name of this symbol.

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

◆ getOperationName()

::mlir::StringLiteral llzk::verif::ContractTargetOpInterface::getOperationName ( )
inlinestatic

Emulates the static method with the same name found in operations.

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

◆ getSymbolUses()

std::optional<::mlir::SymbolTable::UseRange > llzk::verif::ContractTargetOpInterface::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 64 of file OpInterfaces.cpp.inc.

◆ getVisibility()

mlir::SymbolTable::Visibility llzk::verif::ContractTargetOpInterface::getVisibility ( )

Gets the visibility of this symbol.

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

◆ isDeclaration()

bool llzk::verif::ContractTargetOpInterface::isDeclaration ( )

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

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

◆ isNested()

bool llzk::verif::ContractTargetOpInterface::isNested ( )

Returns true if this symbol has nested visibility.

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

◆ isOptionalSymbol()

bool llzk::verif::ContractTargetOpInterface::isOptionalSymbol ( )

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

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

◆ isPrivate()

bool llzk::verif::ContractTargetOpInterface::isPrivate ( )

Returns true if this symbol has private visibility.

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

◆ isPublic()

bool llzk::verif::ContractTargetOpInterface::isPublic ( )

Returns true if this symbol has public visibility.

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

◆ operator::mlir::SymbolOpInterface()

llzk::verif::ContractTargetOpInterface::operator::mlir::SymbolOpInterface ( ) const
inline

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

◆ replaceAllSymbolUses()

llvm::LogicalResult llzk::verif::ContractTargetOpInterface::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 76 of file OpInterfaces.cpp.inc.

◆ setName() [1/2]

void llzk::verif::ContractTargetOpInterface::setName ( ::mlir::StringAttr name)

Sets the name of this symbol.

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

◆ setName() [2/2]

void llzk::verif::ContractTargetOpInterface::setName ( ::mlir::StringRef name)
inline

Convenience version of setName that take a StringRef.

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

◆ setNested()

void llzk::verif::ContractTargetOpInterface::setNested ( )

Sets the visibility of this symbol to be nested.

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

◆ setPrivate()

void llzk::verif::ContractTargetOpInterface::setPrivate ( )

Sets the visibility of this symbol to be private.

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

◆ setPublic()

void llzk::verif::ContractTargetOpInterface::setPublic ( )

Sets the visibility of this symbol to be public.

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

◆ setVisibility()

void llzk::verif::ContractTargetOpInterface::setVisibility ( mlir::SymbolTable::Visibility vis)

Sets the visibility of this symbol.

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

◆ symbolKnownUseEmpty()

bool llzk::verif::ContractTargetOpInterface::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 70 of file OpInterfaces.cpp.inc.


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