CIRCT 24.0.0git
Loading...
Searching...
No Matches
Deseq.cpp File Reference
#include "DeseqUtils.h"
#include "circt/Dialect/Comb/CombOps.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/HW/HWTypeInterfaces.h"
#include "circt/Dialect/LLHD/LLHDOps.h"
#include "circt/Dialect/LLHD/LLHDPasses.h"
#include "circt/Dialect/Seq/SeqOps.h"
#include "mlir/Analysis/Liveness.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
#include "mlir/IR/Dominance.h"
#include "mlir/IR/IRMapping.h"
#include "mlir/IR/Matchers.h"
#include "mlir/Transforms/RegionUtils.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/GenericIteratedDominanceFrontier.h"
#include "circt/Dialect/LLHD/LLHDPasses.h.inc"
Include dependency graph for Deseq.cpp:

Go to the source code of this file.

Namespaces

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

Macros

#define DEBUG_TYPE   "llhd-deseq"
#define VERBOSE_DEBUG(...)
#define GEN_PASS_DEF_DESEQPASS

Functions

static LogicalResult inferRegisterPreset (seq::FirRegOp regOp, DriveInfo &drive)
 Attempt to find and set an preset (initializer) value for the newly created register.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "llhd-deseq"

Definition at line 30 of file Deseq.cpp.

◆ GEN_PASS_DEF_DESEQPASS

#define GEN_PASS_DEF_DESEQPASS

Definition at line 35 of file Deseq.cpp.

◆ VERBOSE_DEBUG

#define VERBOSE_DEBUG ( ...)
Value:
DEBUG_WITH_TYPE(DEBUG_TYPE "-verbose", __VA_ARGS__)
#define DEBUG_TYPE
Definition DebugInfo.cpp:15

Definition at line 31 of file Deseq.cpp.

Function Documentation

◆ inferRegisterPreset()

LogicalResult inferRegisterPreset ( seq::FirRegOp regOp,
DriveInfo & drive )
static

Attempt to find and set an preset (initializer) value for the newly created register.

This needs to be a constant value that is either used to initialize the signal itself, or is unconditionally driven to the signal at the same time the register op begins driving the signal. If such an initial drive is found, the constant drive operation(s) are erased. Returns failure if mutiple conflicting initial drivers are found, or if a non-constant value would be inferred from a signal initializer.

Definition at line 1336 of file Deseq.cpp.

References circt::llhd::deseq::DriveInfo::op, and success().