CIRCT
20.0.0git
|
To use this class, retrieve a cached copy from the analysis manager: auto &fieldsource = getAnalysis<FieldSource>(getOperation());. More...
#include <FIRRTLFieldSource.h>
Classes | |
struct | PathNode |
Public Member Functions | |
FieldSource (Operation *operation) | |
const PathNode * | nodeForValue (Value v) const |
Private Member Functions | |
void | visitOp (Operation *op) |
void | visitSubfield (SubfieldOp sf) |
void | visitOpenSubfield (OpenSubfieldOp sf) |
void | visitSubindex (SubindexOp si) |
void | visitOpenSubindex (OpenSubindexOp si) |
void | visitSubaccess (SubaccessOp sa) |
void | visitMem (MemOp mem) |
void | visitInst (InstanceOp inst) |
void | visitInstChoice (InstanceChoiceOp inst) |
void | makeNodeForValue (Value dst, Value src, ArrayRef< int64_t > path, Flow flow) |
Private Attributes | |
DenseMap< Value, PathNode > | paths |
To use this class, retrieve a cached copy from the analysis manager: auto &fieldsource = getAnalysis<FieldSource>(getOperation());.
Definition at line 27 of file FIRRTLFieldSource.h.
|
explicit |
Definition at line 29 of file FIRRTLFieldSource.cpp.
References circt::firrtl::foldFlow(), makeNodeForValue(), and visitOp().
|
private |
Definition at line 139 of file FIRRTLFieldSource.cpp.
References assert(), and paths.
Referenced by FieldSource(), visitInst(), visitInstChoice(), visitMem(), visitOp(), visitOpenSubfield(), visitOpenSubindex(), visitSubaccess(), visitSubfield(), and visitSubindex().
const FieldSource::PathNode * FieldSource::nodeForValue | ( | Value | v | ) | const |
Definition at line 132 of file FIRRTLFieldSource.cpp.
References paths.
Referenced by visitOpenSubfield(), visitOpenSubindex(), visitSubaccess(), visitSubfield(), and visitSubindex().
|
private |
Definition at line 122 of file FIRRTLFieldSource.cpp.
References circt::firrtl::foldFlow(), and makeNodeForValue().
Referenced by visitOp().
|
private |
Definition at line 127 of file FIRRTLFieldSource.cpp.
References circt::firrtl::foldFlow(), and makeNodeForValue().
Referenced by visitOp().
|
private |
Definition at line 117 of file FIRRTLFieldSource.cpp.
References circt::firrtl::foldFlow(), and makeNodeForValue().
Referenced by visitOp().
|
private |
Definition at line 38 of file FIRRTLFieldSource.cpp.
References circt::firrtl::foldFlow(), makeNodeForValue(), visitInst(), visitInstChoice(), visitMem(), visitOpenSubfield(), visitOpenSubindex(), visitSubaccess(), visitSubfield(), and visitSubindex().
Referenced by FieldSource().
|
private |
Definition at line 81 of file FIRRTLFieldSource.cpp.
References assert(), circt::firrtl::foldFlow(), makeNodeForValue(), and nodeForValue().
Referenced by visitOp().
|
private |
Definition at line 99 of file FIRRTLFieldSource.cpp.
References assert(), circt::firrtl::foldFlow(), makeNodeForValue(), and nodeForValue().
Referenced by visitOp().
|
private |
Definition at line 108 of file FIRRTLFieldSource.cpp.
References assert(), circt::firrtl::foldFlow(), makeNodeForValue(), and nodeForValue().
Referenced by visitOp().
|
private |
Definition at line 72 of file FIRRTLFieldSource.cpp.
References assert(), circt::firrtl::foldFlow(), makeNodeForValue(), and nodeForValue().
Referenced by visitOp().
|
private |
Definition at line 90 of file FIRRTLFieldSource.cpp.
References assert(), circt::firrtl::foldFlow(), makeNodeForValue(), and nodeForValue().
Referenced by visitOp().
|
private |
Definition at line 76 of file FIRRTLFieldSource.h.
Referenced by makeNodeForValue(), and nodeForValue().