CIRCT  20.0.0git
Classes | Namespaces | Macros | Functions
InnerSymbolDCE.cpp File Reference
#include "circt/Dialect/FIRRTL/FIRRTLOpInterfaces.h"
#include "circt/Dialect/FIRRTL/Passes.h"
#include "circt/Dialect/HW/HWAttributes.h"
#include "circt/Dialect/HW/InnerSymbolTable.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Threading.h"
#include "mlir/Pass/Pass.h"
#include "llvm/Support/Debug.h"
#include "circt/Dialect/FIRRTL/Passes.h.inc"
Include dependency graph for InnerSymbolDCE.cpp:

Go to the source code of this file.

Classes

struct  InnerSymbolDCEPass
 

Namespaces

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

Macros

#define DEBUG_TYPE   "firrtl-inner-symbol-dce"
 
#define GEN_PASS_DEF_INNERSYMBOLDCE
 

Functions

static void dropSymbol (const InnerSymTarget &target)
 Drop the specified symbol. More...
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "firrtl-inner-symbol-dce"

Definition at line 21 of file InnerSymbolDCE.cpp.

◆ GEN_PASS_DEF_INNERSYMBOLDCE

#define GEN_PASS_DEF_INNERSYMBOLDCE

Definition at line 25 of file InnerSymbolDCE.cpp.

Function Documentation

◆ dropSymbol()

static void dropSymbol ( const InnerSymTarget target)
static

Drop the specified symbol.

Belongs in InnerSymbolTable, need to move port symbols accessors into HW(ModuleLike) or perhaps a new inner-symbol interface that dialects can optionally elect to use on their "ModuleLike"s. For now, since InnerSymbolDCE is FIRRTL-only, define this here.

Definition at line 40 of file InnerSymbolDCE.cpp.

References assert(), circt::hw::InnerSymTarget::getField(), circt::hw::InnerSymTarget::getOp(), circt::hw::InnerSymTarget::getPort(), and circt::hw::InnerSymTarget::isPort().

Referenced by InnerSymbolDCEPass::removeInnerSyms().