CIRCT  19.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
FIRRTLOps.h File Reference
#include "circt/Dialect/FIRRTL/CHIRRTLDialect.h"
#include "circt/Dialect/FIRRTL/FIRRTLDialect.h"
#include "circt/Dialect/FIRRTL/FIRRTLOpInterfaces.h"
#include "circt/Dialect/HW/HWOpInterfaces.h"
#include "circt/Dialect/HW/HWTypes.h"
#include "circt/Dialect/HW/InnerSymbolTable.h"
#include "circt/Dialect/Seq/SeqAttributes.h"
#include "circt/Support/FieldRef.h"
#include "circt/Support/InstanceGraph.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/OpImplementation.h"
#include "mlir/IR/RegionKindInterface.h"
#include "mlir/IR/SymbolTable.h"
#include "mlir/Interfaces/FunctionInterfaces.h"
#include "mlir/Interfaces/InferTypeOpInterface.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "circt/Dialect/FIRRTL/FIRRTL.h.inc"
Include dependency graph for FIRRTLOps.h:

Go to the source code of this file.

Classes

class  circt::firrtl::SameOperandsIntTypeKind< ConcreteOp >
 A binary operation where the operands have the same integer kind. More...
 
struct  circt::firrtl::FirMemory
 
struct  llvm::DenseMapInfo< circt::firrtl::FModuleOp >
 

Namespaces

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

Macros

#define GET_OP_CLASSES
 

Enumerations

enum class  circt::firrtl::Flow : uint8_t { circt::firrtl::None , circt::firrtl::Source , circt::firrtl::Sink , circt::firrtl::Duplex }
 
enum class  circt::firrtl::DeclKind { circt::firrtl::Port , circt::firrtl::Instance , circt::firrtl::Other }
 
enum class  circt::firrtl::ReadPortSubfield { circt::firrtl::addr , circt::firrtl::en , circt::firrtl::clk , circt::firrtl::data }
 
enum class  circt::firrtl::WritePortSubfield {
  circt::firrtl::addr , circt::firrtl::en , circt::firrtl::clk , circt::firrtl::data ,
  circt::firrtl::mask
}
 
enum class  circt::firrtl::ReadWritePortSubfield {
  circt::firrtl::addr , circt::firrtl::en , circt::firrtl::clk , circt::firrtl::rdata ,
  circt::firrtl::wmode , circt::firrtl::wdata , circt::firrtl::wmask
}
 

Functions

bool circt::firrtl::hasDroppableName (Operation *op)
 Return true if the name is droppable. More...
 
bool circt::firrtl::isExpression (Operation *op)
 Return true if the specified operation is a firrtl expression. More...
 
size_t circt::firrtl::getNumPorts (Operation *op)
 Return the number of ports in a module-like thing (modules, memories, etc) More...
 
bool circt::firrtl::isConstant (Operation *op)
 Return true if the specified operation has a constant value. More...
 
bool circt::firrtl::isConstant (Value value)
 Return true if the specified value is a constant. More...
 
bool circt::firrtl::isDuplexValue (Value val)
 Returns true if the value results from an expression with duplex flow. More...
 
Flow circt::firrtl::swapFlow (Flow flow)
 Get a flow's reverse. More...
 
constexpr bool circt::firrtl::isValidSrc (Flow flow)
 
constexpr bool circt::firrtl::isValidDst (Flow flow)
 
Flow circt::firrtl::foldFlow (Value val, Flow accumulatedFlow=Flow::Source)
 Compute the flow for a Value, val, as determined by the FIRRTL specification. More...
 
DeclKind circt::firrtl::getDeclarationKind (Value val)
 
MemDirAttr circt::firrtl::operator| (MemDirAttr lhs, MemDirAttr rhs)
 Allow 'or'ing MemDirAttr. More...
 
MemDirAttr & circt::firrtl::operator|= (MemDirAttr &lhs, MemDirAttr rhs)
 
StringAttr circt::firrtl::getInnerSymName (Operation *op)
 Return the StringAttr for the inner_sym name, if it exists. More...
 
bool circt::firrtl::hasDontTouch (Value value)
 Check whether a block argument ("port") or the operation defining a value has a DontTouch annotation, or a symbol that should prevent certain types of canonicalizations. More...
 
bool circt::firrtl::hasDontTouch (Operation *op)
 Check whether an operation has a DontTouch annotation, or a symbol that should prevent certain types of canonicalizations. More...
 
StrictConnectOp circt::firrtl::getSingleConnectUserOf (Value value)
 Scan all the uses of the specified value, checking to see if there is exactly one connect that has the value as its destination. More...
 
LogicalResult circt::firrtl::impl::verifySameOperandsIntTypeKind (Operation *op)
 
LogicalResult circt::firrtl::impl::inferReturnTypes (MLIRContext *context, std::optional< Location > loc, ValueRange operands, DictionaryAttr attrs, mlir::OpaqueProperties properties, mlir::RegionRange regions, SmallVectorImpl< Type > &results, llvm::function_ref< FIRRTLType(ValueRange, ArrayRef< NamedAttribute >, std::optional< Location >)> callback)
 
FIRRTLType circt::firrtl::impl::inferAddSubResult (FIRRTLType lhs, FIRRTLType rhs, std::optional< Location > loc)
 
FIRRTLType circt::firrtl::impl::inferBitwiseResult (FIRRTLType lhs, FIRRTLType rhs, std::optional< Location > loc)
 
FIRRTLType circt::firrtl::impl::inferElementwiseResult (FIRRTLType lhs, FIRRTLType rhs, std::optional< Location > loc)
 
FIRRTLType circt::firrtl::impl::inferComparisonResult (FIRRTLType lhs, FIRRTLType rhs, std::optional< Location > loc)
 
FIRRTLType circt::firrtl::impl::inferReductionResult (FIRRTLType arg, std::optional< Location > loc)
 
LogicalResult circt::firrtl::impl::validateBinaryOpArguments (ValueRange operands, ArrayRef< NamedAttribute > attrs, Location loc)
 
LogicalResult circt::firrtl::impl::validateUnaryOpArguments (ValueRange operands, ArrayRef< NamedAttribute > attrs, Location loc)
 
LogicalResult circt::firrtl::impl::validateOneOperandOneConst (ValueRange operands, ArrayRef< NamedAttribute > attrs, Location loc)
 

Macro Definition Documentation

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 243 of file FIRRTLOps.h.