CIRCT  20.0.0git
Classes | Functions
circt::comb Namespace Reference

Classes

class  CombinationalVisitor
 This helps visit Combinational nodes. More...
 

Functions

KnownBits computeKnownBits (Value value)
 Compute "known bits" information about the specified value - the set of bits that are guaranteed to always be zero, and the set of bits that are guaranteed to always be one (these must be exclusive!). More...
 
Value createOrFoldSExt (Location loc, Value value, Type destTy, OpBuilder &builder)
 Create a sign extension operation from a value of integer type to an equal or larger integer type. More...
 
Value createOrFoldSExt (Value value, Type destTy, ImplicitLocOpBuilder &builder)
 
Value createOrFoldNot (Location loc, Value value, OpBuilder &builder, bool twoState=false)
 Create a `‘Not’' gate on a value. More...
 
Value createOrFoldNot (Value value, ImplicitLocOpBuilder &builder, bool twoState=false)
 

Function Documentation

◆ computeKnownBits()

KnownBits circt::comb::computeKnownBits ( Value  value)

Compute "known bits" information about the specified value - the set of bits that are guaranteed to always be zero, and the set of bits that are guaranteed to always be one (these must be exclusive!).

Given an integer SSA value, check to see if we know anything about the result of the computation.

A bit that exists in neither set is unknown.

For example, we know that "and with a constant" always returns zeros for the zero bits in a constant.

Definition at line 87 of file CombAnalysis.cpp.

References computeKnownBits().

Referenced by computeKnownBits().

◆ createOrFoldNot() [1/2]

Value circt::comb::createOrFoldNot ( Location  loc,
Value  value,
OpBuilder &  builder,
bool  twoState = false 
)

◆ createOrFoldNot() [2/2]

Value circt::comb::createOrFoldNot ( Value  value,
ImplicitLocOpBuilder &  builder,
bool  twoState = false 
)

Definition at line 54 of file CombOps.cpp.

References createOrFoldNot().

◆ createOrFoldSExt() [1/2]

Value circt::comb::createOrFoldSExt ( Location  loc,
Value  value,
Type  destTy,
OpBuilder &  builder 
)

Create a sign extension operation from a value of integer type to an equal or larger integer type.

Definition at line 25 of file CombOps.cpp.

References assert().

Referenced by ConvertCellOp::convertPrimitiveOp(), and createOrFoldSExt().

◆ createOrFoldSExt() [2/2]

Value circt::comb::createOrFoldSExt ( Value  value,
Type  destTy,
ImplicitLocOpBuilder &  builder 
)

Definition at line 43 of file CombOps.cpp.

References createOrFoldSExt().