13 #ifndef CIRCT_DIALECT_COMB_COMBOPS_H
14 #define CIRCT_DIALECT_COMB_COMBOPS_H
19 #include "mlir/Bytecode/BytecodeOpInterface.h"
20 #include "mlir/IR/BuiltinOps.h"
21 #include "mlir/IR/OpImplementation.h"
22 #include "mlir/Interfaces/FunctionInterfaces.h"
23 #include "mlir/Interfaces/InferTypeOpInterface.h"
24 #include "mlir/Interfaces/SideEffectInterfaces.h"
31 class PatternRewriter;
34 #define GET_OP_CLASSES
35 #include "circt/Dialect/Comb/Comb.h.inc"
40 using llvm::KnownBits;
52 Value
createOrFoldSExt(Value value, Type destTy, ImplicitLocOpBuilder &builder);
56 bool twoState =
false);
58 bool twoState =
false);
Value createOrFoldNot(Location loc, Value value, OpBuilder &builder, bool twoState=false)
Create a `‘Not’' gate on a value.
KnownBits computeKnownBits(Value value)
Compute "known bits" information about the specified value - the set of bits that are guaranteed to a...
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.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.