CIRCT  19.0.0git
Classes | Functions
lec Namespace Reference

This header provides a variety of utility functions and macros for use throughout the tool. More...

Classes

struct  Scope
 RAII struct to indent the output streams. More...
 

Functions

mlir::raw_indented_ostream & dbgs ()
 
mlir::raw_indented_ostream & errs ()
 
mlir::raw_indented_ostream & outs ()
 
void printExpr (const z3::expr &expr)
 Helper function to provide a common debug formatting for z3 expressions. More...
 
void printValue (const mlir::Value &value)
 Helper function to provide a common debug formatting for MLIR values. More...
 
void printAPInt (const mlir::APInt &value)
 Helper function to provide a common debug formatting for MLIR APInt'egers. More...
 

Detailed Description

This header provides a variety of utility functions and macros for use throughout the tool.

Function Documentation

◆ dbgs()

mlir::raw_indented_ostream& lec::dbgs ( )
inline

Definition at line 28 of file Utility.h.

Referenced by circt::Solver::Circuit::addConstant(), circt::Solver::Circuit::addInput(), circt::Solver::Circuit::addInstance(), circt::Solver::Circuit::addOutput(), InstanceStubber::afterReduction(), circt::Solver::Circuit::allocateConstant(), circt::firrtl::applyGCTDataTaps(), circt::Solver::Circuit::constrainResult(), DiscoverLoops::constructConnectivityGraph(), circt::FirMemLowering::createMemoryModule(), circt::debugFooter(), circt::debugHeader(), DiscoverLoops::dfsTraverse(), DiscoverLoops::dumpMap(), circt::Solver::Circuit::fetchOrAllocateExpr(), circt::ExportVerilog::SharedEmitterState::gatherFiles(), getCostEstimate(), InnerSymbolDCEPass::insertInnerRef(), insertResetMux(), circt::FirMemLowering::lowerMemoriesInModule(), circt::Solver::Circuit::performAdd(), circt::Solver::Circuit::performAnd(), circt::Solver::Circuit::performConcat(), circt::Solver::Circuit::performDivS(), circt::Solver::Circuit::performDivU(), circt::Solver::Circuit::performExtract(), circt::Solver::Circuit::performICmp(), circt::Solver::Circuit::performModS(), circt::Solver::Circuit::performModU(), circt::Solver::Circuit::performMul(), circt::Solver::Circuit::performMux(), circt::Solver::Circuit::performOr(), circt::Solver::Circuit::performParity(), circt::Solver::Circuit::performReplicate(), circt::Solver::Circuit::performShl(), circt::Solver::Circuit::performShrS(), circt::Solver::Circuit::performShrU(), circt::Solver::Circuit::performSub(), circt::Solver::Circuit::performXor(), printAPInt(), circt::Solver::printAssertions(), printExpr(), printValue(), DiscoverLoops::processModule(), NLARemover::remove(), InnerSymbolDCEPass::removeInnerSyms(), InstanceStubber::rewrite(), EagerInliner::rewrite(), MemoryStubber::rewrite(), FIRRTLOperandForwarder< OpNum >::rewrite(), HWOperandForwarder< OpNum >::rewrite(), LowerLayersPass::runOnModuleBody(), LowerLayersPass::runOnModuleLike(), LowerLayersPass::runOnOperation(), LowerXMRPass::runOnOperation(), ResolveTracesPass::runOnOperation(), SFCCompatPass::runOnOperation(), circt::scheduling::scheduleCPSAT(), solveExpr(), circt::Solver::Circuit::variadicOperation(), and circt::detail::DebugInfoBuilder::visitRoot().

◆ errs()

mlir::raw_indented_ostream& lec::errs ( )
inline

◆ outs()

mlir::raw_indented_ostream& lec::outs ( )
inline

◆ printAPInt()

void lec::printAPInt ( const mlir::APInt &  value)
inline

Helper function to provide a common debug formatting for MLIR APInt'egers.

Definition at line 66 of file Utility.h.

References dbgs().

◆ printExpr()

void lec::printExpr ( const z3::expr &  expr)
inline

Helper function to provide a common debug formatting for z3 expressions.

Definition at line 51 of file Utility.h.

References dbgs().

Referenced by circt::Solver::Circuit::allocateConstant(), circt::Solver::Circuit::constrainResult(), and circt::Solver::Circuit::fetchOrAllocateExpr().

◆ printValue()

void lec::printValue ( const mlir::Value &  value)
inline

Helper function to provide a common debug formatting for MLIR values.

Definition at line 59 of file Utility.h.

References dbgs(), and mlir::hash_value().

Referenced by circt::Solver::Circuit::allocateConstant(), circt::Solver::Circuit::fetchOrAllocateExpr(), and circt::Solver::Circuit::variadicOperation().