CIRCT 24.0.0git
Loading...
Searching...
No Matches
DatapathToComb.cpp File Reference
#include "circt/Conversion/DatapathToComb.h"
#include "circt/Dialect/Comb/CombOps.h"
#include "circt/Dialect/Datapath/DatapathOps.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/Synth/Analysis/LongestPathAnalysis.h"
#include "mlir/Analysis/TopologicalSortUtils.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/KnownBits.h"
#include <algorithm>
#include "circt/Conversion/Passes.h.inc"
Include dependency graph for DatapathToComb.cpp:

Go to the source code of this file.

Namespaces

namespace  circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.

Macros

#define DEBUG_TYPE   "datapath-to-comb"
#define GEN_PASS_DEF_CONVERTDATAPATHTOCOMB

Functions

static SmallVector< Value > extractBits (OpBuilder &builder, Value val)
static std::pair< bool, Value > getBaseOfExt (PatternRewriter &rewriter, Location loc, Value val)
static LogicalResult applyPatternsGreedilyWithTimingInfo (Operation *op, RewritePatternSet &&patterns, synth::IncrementalLongestPathAnalysis *analysis)

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "datapath-to-comb"

Definition at line 23 of file DatapathToComb.cpp.

◆ GEN_PASS_DEF_CONVERTDATAPATHTOCOMB

#define GEN_PASS_DEF_CONVERTDATAPATHTOCOMB

Definition at line 26 of file DatapathToComb.cpp.

Function Documentation

◆ applyPatternsGreedilyWithTimingInfo()

LogicalResult applyPatternsGreedilyWithTimingInfo ( Operation * op,
RewritePatternSet && patterns,
synth::IncrementalLongestPathAnalysis * analysis )
static

Definition at line 815 of file DatapathToComb.cpp.

References failure(), and success().

◆ extractBits()

SmallVector< Value > extractBits ( OpBuilder & builder,
Value val )
static

Definition at line 34 of file DatapathToComb.cpp.

References circt::comb::extractBits().

◆ getBaseOfExt()

std::pair< bool, Value > getBaseOfExt ( PatternRewriter & rewriter,
Location loc,
Value val )
static

Definition at line 42 of file DatapathToComb.cpp.

References circt::comb::m_SextBy(), and circt::comb::m_ZextBy().