|
CIRCT 23.0.0git
|
#include "circt/Dialect/Synth/Analysis/ResourceUsageAnalysis.h"#include "circt/Dialect/Comb/CombOps.h"#include "circt/Dialect/HW/HWOpInterfaces.h"#include "circt/Dialect/Seq/SeqOps.h"#include "circt/Dialect/Synth/SynthOps.h"#include "circt/Dialect/Synth/Transforms/SynthPasses.h"#include "circt/Support/InstanceGraph.h"#include "circt/Support/LLVM.h"#include "mlir/IR/BuiltinOps.h"#include "mlir/Pass/AnalysisManager.h"#include "mlir/Support/FileUtilities.h"#include "llvm/ADT/ScopeExit.h"#include "llvm/Support/JSON.h"#include "llvm/Support/ToolOutputFile.h"#include "circt/Dialect/Synth/Transforms/SynthPasses.h.inc"
Go to the source code of this file.
Namespaces | |
| namespace | circt |
| The InstanceGraph op interface, see InstanceGraphInterface.td for more details. | |
| namespace | circt::synth |
Macros | |
| #define | GEN_PASS_DEF_PRINTRESOURCEUSAGEANALYSIS |
Functions | |
| static std::optional< std::pair< std::string, uint64_t > > | getResourceCount (Operation *op) |
| Get resource count for an operation if it's a tracked resource type. | |
| static llvm::json::Object | getModuleResourceUsageJSON (const ResourceUsageAnalysis::ResourceUsage &usage) |
| Convert ResourceUsage to JSON object. | |
| static llvm::json::Object | getModuleResourceUsageJSON (const ResourceUsageAnalysis::ModuleResourceUsage &usage) |
| Convert ModuleResourceUsage to JSON object with full hierarchy. | |
| #define GEN_PASS_DEF_PRINTRESOURCEUSAGEANALYSIS |
Definition at line 32 of file ResourceUsageAnalysis.cpp.
|
static |
Convert ModuleResourceUsage to JSON object with full hierarchy.
This creates fully-elaborated information including all child instances.
Definition at line 193 of file ResourceUsageAnalysis.cpp.
References getModuleResourceUsageJSON().
|
static |
Convert ResourceUsage to JSON object.
Definition at line 184 of file ResourceUsageAnalysis.cpp.
Referenced by circt::synth::ResourceUsageAnalysis::ModuleResourceUsage::emitJSON(), and getModuleResourceUsageJSON().
|
static |
Get resource count for an operation if it's a tracked resource type.
Returns (operation name, count) pair, or std::nullopt if not tracked. The operation name may include additional information (e.g., LUT input count).
Definition at line 49 of file ResourceUsageAnalysis.cpp.