My Project
Public Member Functions | Static Public Member Functions | List of all members
mlir::quantizer::CAGOperandAnchor Class Reference

#include <ConstraintAnalysisGraph.h>

Inheritance diagram for mlir::quantizer::CAGOperandAnchor:
Inheritance graph
[legend]
Collaboration diagram for mlir::quantizer::CAGOperandAnchor:
Collaboration graph
[legend]

Public Member Functions

 CAGOperandAnchor (Operation *op, unsigned operandIdx)
 
OperationgetOp () const final
 
unsigned getOperandIdx () const
 
Value getValue () const final
 
void printLabel (raw_ostream &os) const override
 Prints the node label, suitable for one-line display. More...
 
- Public Member Functions inherited from mlir::quantizer::CAGAnchorNode
CAGUniformMetadatagetUniformMetadata ()
 Metadata for solving uniform quantization params. More...
 
const CAGUniformMetadatagetUniformMetadata () const
 
void propagate (SolverContext &solverContext, const TargetConfiguration &config) override
 
Type getTransformedType ()
 
TypeTransformRule getTypeTransformRule () const
 
void setTypeTransformRule (TypeTransformRule r)
 
Type getOriginalType () const
 
- Public Member Functions inherited from mlir::quantizer::CAGNode
virtual ~CAGNode ()=default
 
Kind getKind () const
 
int getNodeId () const
 Unique id of the node within the slice. More...
 
bool isDirty () const
 Whether the node is dirty, requiring one or more calls to propagate(). More...
 
void markDirty ()
 
void clearDirty ()
 
const_iterator begin () const
 Iterator over this node's children (outgoing) nodes. More...
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
const_iterator incoming_begin () const
 Iterator over this parents (incoming) nodes. More...
 
const_iterator incoming_end () const
 
iterator incoming_begin ()
 
iterator incoming_end ()
 
template<typename T >
void findChildrenOfKind (SmallVectorImpl< T *> &found)
 
void replaceIncoming (CAGNode *otherNode)
 
void addOutgoing (CAGNode *toNode)
 
bool isOrphan () const
 Whether this node is an orphan (has no incoming or outgoing connections). More...
 

Static Public Member Functions

static bool classof (const CAGNode *n)
 
- Static Public Member Functions inherited from mlir::quantizer::CAGAnchorNode
static bool classof (const CAGNode *n)
 

Additional Inherited Members

- Public Types inherited from mlir::quantizer::CAGAnchorNode
enum  TypeTransformRule { TypeTransformRule::Direct, TypeTransformRule::DirectStorage, TypeTransformRule::ExpressedOnly }
 
- Public Types inherited from mlir::quantizer::CAGNode
enum  Kind {
  Kind::Anchor, Kind::OperandAnchor, Kind::ResultAnchor, Kind::LastAnchor = ResultAnchor,
  Kind::Constraint, Kind::SolveUniformConstraint, Kind::UniformPropagateExplicitScale, Kind::LastConstraint = UniformPropagateExplicitScale
}
 
using node_vector = SmallVector< CAGNode *, 1 >
 
using iterator = node_vector::iterator
 
using const_iterator = node_vector::const_iterator
 
- Protected Member Functions inherited from mlir::quantizer::CAGAnchorNode
 CAGAnchorNode (Kind kind, Type originalType)
 
- Protected Member Functions inherited from mlir::quantizer::CAGNode
 CAGNode (Kind kind)
 

Detailed Description

An anchor tied to a specific operand. Since operand anchors can be rewritten so that the operand refers to a new result, they are maintained by reference (to the op and index).

Constructor & Destructor Documentation

◆ CAGOperandAnchor()

CAGOperandAnchor::CAGOperandAnchor ( Operation op,
unsigned  operandIdx 
)

Member Function Documentation

◆ classof()

static bool mlir::quantizer::CAGOperandAnchor::classof ( const CAGNode n)
inlinestatic

◆ getOp()

Operation* mlir::quantizer::CAGOperandAnchor::getOp ( ) const
inlinefinalvirtual

◆ getOperandIdx()

unsigned mlir::quantizer::CAGOperandAnchor::getOperandIdx ( ) const
inline

◆ getValue()

Value mlir::quantizer::CAGOperandAnchor::getValue ( ) const
inlinefinalvirtual

◆ printLabel()

void CAGOperandAnchor::printLabel ( raw_ostream &  os) const
overridevirtual

Prints the node label, suitable for one-line display.

Reimplemented from mlir::quantizer::CAGAnchorNode.


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