CIRCT  19.0.0git
Functions
WireDFT.cpp File Reference
#include "PassDetails.h"
#include "circt/Dialect/FIRRTL/AnnotationDetails.h"
#include "circt/Dialect/FIRRTL/FIRRTLAnnotations.h"
#include "circt/Dialect/FIRRTL/FIRRTLInstanceGraph.h"
#include "circt/Dialect/FIRRTL/FIRRTLOps.h"
#include "circt/Dialect/FIRRTL/FIRRTLTypes.h"
#include "circt/Dialect/FIRRTL/FIRRTLUtils.h"
#include "circt/Dialect/FIRRTL/Passes.h"
#include "mlir/IR/ImplicitLocOpBuilder.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/SetVector.h"
Include dependency graph for WireDFT.cpp:

Go to the source code of this file.

Functions

static InstanceGraphNodelowestCommonAncestor (InstanceGraphNode *top, llvm::function_ref< bool(InstanceRecord *)> predicate)
 This calculates the lowest common ancestor of the instance operations. More...
 

Function Documentation

◆ lowestCommonAncestor()

static InstanceGraphNode* lowestCommonAncestor ( InstanceGraphNode top,
llvm::function_ref< bool(InstanceRecord *)>  predicate 
)
static

This calculates the lowest common ancestor of the instance operations.

It supports finding the LCA of an arbitrary number of nodes (instead of the usual 2 at a time), and incremental target node discovery.

Definition at line 32 of file WireDFT.cpp.

References circt::igraph::InstanceGraphNode::begin().