#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/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.
|
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="") |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "aig-longest-path-analysis" |
◆ concatList()
◆ deduplicatePaths() [1/2]
static void deduplicatePaths |
( |
SmallVectorImpl< DataflowPath > & |
results, |
|
|
size_t |
startIndex = 0 |
|
) |
| |
|
static |
◆ deduplicatePaths() [2/2]
static void deduplicatePaths |
( |
SmallVectorImpl< OpenPath > & |
results, |
|
|
size_t |
startIndex = 0 |
|
) |
| |
|
static |
◆ deduplicatePathsImpl()
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 |
◆ getBitWidth()
static size_t getBitWidth |
( |
Value |
value | ) |
|
|
static |
◆ getNameImpl()
static StringAttr getNameImpl |
( |
Value |
value | ) |
|
|
static |
◆ mapList()
◆ printObjectImpl()
static void printObjectImpl |
( |
llvm::raw_ostream & |
os, |
|
|
const Object & |
object, |
|
|
int64_t |
delay = -1 , |
|
|
llvm::ImmutableList< DebugPoint > |
history = {} , |
|
|
StringRef |
comment = "" |
|
) |
| |
|
static |