CIRCT  20.0.0git
Namespaces | Macros | Functions
IMDeadCodeElim.cpp File Reference
#include "circt/Dialect/FIRRTL/AnnotationDetails.h"
#include "circt/Dialect/FIRRTL/FIRRTLInstanceGraph.h"
#include "circt/Dialect/FIRRTL/FIRRTLOps.h"
#include "circt/Dialect/FIRRTL/Passes.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/HW/InnerSymbolTable.h"
#include "circt/Support/Debug.h"
#include "mlir/IR/ImplicitLocOpBuilder.h"
#include "mlir/IR/Threading.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "mlir/Pass/Pass.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/DenseMapInfoVariant.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/Support/Debug.h"
#include "circt/Dialect/FIRRTL/Passes.h.inc"
Include dependency graph for IMDeadCodeElim.cpp:

Go to the source code of this file.

Namespaces

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

Macros

#define DEBUG_TYPE   "firrtl-imdeadcodeelim"
 
#define GEN_PASS_DEF_IMDEADCODEELIM
 

Functions

static bool hasUnknownSideEffect (Operation *op)
 
static bool isDeclaration (Operation *op)
 Return true if this is a wire or a register or a node. More...
 
static bool isDeletableDeclaration (Operation *op)
 Return true if this is a wire or register we're allowed to delete. More...
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "firrtl-imdeadcodeelim"

Definition at line 26 of file IMDeadCodeElim.cpp.

◆ GEN_PASS_DEF_IMDEADCODEELIM

#define GEN_PASS_DEF_IMDEADCODEELIM

Definition at line 30 of file IMDeadCodeElim.cpp.

Function Documentation

◆ hasUnknownSideEffect()

static bool hasUnknownSideEffect ( Operation *  op)
static

Definition at line 39 of file IMDeadCodeElim.cpp.

◆ isDeclaration()

static bool isDeclaration ( Operation *  op)
static

Return true if this is a wire or a register or a node.

Definition at line 46 of file IMDeadCodeElim.cpp.

◆ isDeletableDeclaration()

static bool isDeletableDeclaration ( Operation *  op)
static

Return true if this is a wire or register we're allowed to delete.

Definition at line 51 of file IMDeadCodeElim.cpp.

References circt::firrtl::AnnotationSet::canBeDeleted(), and circt::firrtl::hasDontTouch().