CIRCT  19.0.0git
Macros | Functions
ArcOps.cpp File Reference
#include "circt/Dialect/Arc/ArcOps.h"
#include "circt/Dialect/HW/HWOpInterfaces.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/OpImplementation.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/SymbolTable.h"
#include "mlir/Interfaces/FunctionImplementation.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/TypeSwitch.h"
#include "circt/Dialect/Arc/ArcInterfaces.cpp.inc"
#include "circt/Dialect/Arc/Arc.cpp.inc"
Include dependency graph for ArcOps.cpp:

Go to the source code of this file.

Macros

#define GET_OP_CLASSES
 

Functions

static LogicalResult verifyTypeListEquivalence (Operation *op, TypeRange expectedTypeList, TypeRange actualTypeList, StringRef elementName)
 
static LogicalResult verifyArcSymbolUse (Operation *op, TypeRange inputs, TypeRange results, SymbolTableCollection &symbolTable)
 
static bool isSupportedModuleOp (Operation *moduleOp)
 
static Operation * getSupportedModuleOp (SymbolTableCollection &symbolTable, Operation *pointing, StringAttr symbol)
 Fetches the operation pointed to by pointing with name symbol, checking that it is a supported model operation for simulation. More...
 
static std::optional< hw::ModulePort > getModulePort (Operation *moduleOp, StringRef portName)
 
static FailureOr< unsigned > getVectorWidth (Type base, Type vectorized)
 

Macro Definition Documentation

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 623 of file ArcOps.cpp.

Function Documentation

◆ getModulePort()

static std::optional<hw::ModulePort> getModulePort ( Operation *  moduleOp,
StringRef  portName 
)
static

Definition at line 100 of file ArcOps.cpp.

◆ getSupportedModuleOp()

static Operation* getSupportedModuleOp ( SymbolTableCollection &  symbolTable,
Operation *  pointing,
StringAttr  symbol 
)
static

Fetches the operation pointed to by pointing with name symbol, checking that it is a supported model operation for simulation.

Definition at line 82 of file ArcOps.cpp.

References isSupportedModuleOp().

◆ getVectorWidth()

static FailureOr<unsigned> getVectorWidth ( Type  base,
Type  vectorized 
)
static

Definition at line 379 of file ArcOps.cpp.

◆ isSupportedModuleOp()

static bool isSupportedModuleOp ( Operation *  moduleOp)
static

Definition at line 76 of file ArcOps.cpp.

Referenced by getSupportedModuleOp().

◆ verifyArcSymbolUse()

static LogicalResult verifyArcSymbolUse ( Operation *  op,
TypeRange  inputs,
TypeRange  results,
SymbolTableCollection &  symbolTable 
)
static

Definition at line 50 of file ArcOps.cpp.

References assert(), inputs, and verifyTypeListEquivalence().

◆ verifyTypeListEquivalence()

static LogicalResult verifyTypeListEquivalence ( Operation *  op,
TypeRange  expectedTypeList,
TypeRange  actualTypeList,
StringRef  elementName 
)
static

Definition at line 28 of file ArcOps.cpp.

Referenced by verifyArcSymbolUse().