CIRCT 21.0.0git
|
#include "circt/Dialect/AIG/Analysis/LongestPathAnalysis.h"
#include "circt/Dialect/AIG/AIGOps.h"
#include "circt/Dialect/Comb/CombOps.h"
#include "circt/Dialect/HW/HWInstanceGraph.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/Seq/SeqOps.h"
#include "circt/Dialect/Seq/SeqTypes.h"
#include "circt/Support/InstanceGraph.h"
#include "circt/Support/LLVM.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/Operation.h"
#include "mlir/IR/Threading.h"
#include "mlir/IR/Value.h"
#include "mlir/IR/Visitors.h"
#include "mlir/Pass/AnalysisManager.h"
#include "mlir/Support/FileUtilities.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT//MapVector.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMapInfoVariant.h"
#include "llvm/ADT/EquivalenceClasses.h"
#include "llvm/ADT/ImmutableList.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/JSON.h"
#include "llvm/Support/LogicalResult.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Mutex.h"
#include "llvm/Support/raw_ostream.h"
#include <condition_variable>
#include <cstdint>
#include <memory>
#include <mutex>
Go to the source code of this file.
Classes | |
class | Context |
This class provides a thread-safe interface to access the analysis results. More... | |
class | LocalVisitor |
struct | LongestPathAnalysis::Impl |
Macros | |
#define | DEBUG_TYPE "aig-longest-path-analysis" |
Functions | |
static size_t | getBitWidth (Value value) |
template<typename T , typename Key > | |
static void | deduplicatePathsImpl (SmallVectorImpl< T > &results, size_t startIndex, llvm::function_ref< Key(const T &)> keyFn, llvm::function_ref< int64_t(const T &)> delayFn) |
static void | deduplicatePaths (SmallVectorImpl< OpenPath > &results, size_t startIndex=0) |
static void | deduplicatePaths (SmallVectorImpl< DataflowPath > &results, size_t startIndex=0) |
static llvm::ImmutableList< DebugPoint > | mapList (llvm::ImmutableListFactory< DebugPoint > *debugPointFactory, llvm::ImmutableList< DebugPoint > list, llvm::function_ref< DebugPoint(DebugPoint)> fn) |
static llvm::ImmutableList< DebugPoint > | concatList (llvm::ImmutableListFactory< DebugPoint > *debugPointFactory, llvm::ImmutableList< DebugPoint > lhs, llvm::ImmutableList< DebugPoint > rhs) |
static StringAttr | getNameImpl (Value value) |
static void | printObjectImpl (llvm::raw_ostream &os, const Object &object, int64_t delay=-1, llvm::ImmutableList< DebugPoint > history={}, StringRef comment="") |
static llvm::json::Value | toJSON (const circt::igraph::InstancePath &path) |
static llvm::json::Value | toJSON (const circt::aig::Object &object) |
static llvm::json::Value | toJSON (const DataflowPath::FanOutType &path, hw::HWModuleOp root) |
static llvm::json::Value | toJSON (const DebugPoint &point) |
static llvm::json::Value | toJSON (const OpenPath &path) |
#define DEBUG_TYPE "aig-longest-path-analysis" |
Definition at line 72 of file LongestPathAnalysis.cpp.
|
static |
Definition at line 135 of file LongestPathAnalysis.cpp.
References concatList().
Referenced by concatList(), LocalVisitor::initializeAndRun(), and LocalVisitor::visit().
|
static |
Definition at line 112 of file LongestPathAnalysis.cpp.
References deduplicatePathsImpl().
|
static |
Definition at line 105 of file LongestPathAnalysis.cpp.
Referenced by LocalVisitor::addLogicOp(), LocalVisitor::getOrComputeResults(), LongestPathAnalysis::Impl::getResultsImpl(), and LocalVisitor::visit().
|
static |
Definition at line 86 of file LongestPathAnalysis.cpp.
Referenced by deduplicatePaths().
|
static |
Definition at line 76 of file LongestPathAnalysis.cpp.
|
static |
Definition at line 144 of file LongestPathAnalysis.cpp.
Referenced by toJSON().
|
static |
Definition at line 124 of file LongestPathAnalysis.cpp.
References mapList().
Referenced by LocalVisitor::initializeAndRun(), mapList(), circt::aig::OpenPath::prependPaths(), and LocalVisitor::visit().
|
static |
Definition at line 190 of file LongestPathAnalysis.cpp.
Referenced by circt::aig::Object::print(), circt::aig::DebugPoint::print(), and circt::aig::OpenPath::print().
|
static |
Definition at line 318 of file LongestPathAnalysis.cpp.
References getNameImpl(), and toJSON().
|
static |
Definition at line 307 of file LongestPathAnalysis.cpp.
Referenced by circt::aig::toJSON(), toJSON(), toJSON(), toJSON(), and toJSON().
|
static |
Definition at line 326 of file LongestPathAnalysis.cpp.
References toJSON().
|
static |
Definition at line 340 of file LongestPathAnalysis.cpp.
References toJSON().
|
static |
Definition at line 348 of file LongestPathAnalysis.cpp.
References toJSON().