CIRCT 20.0.0git
Loading...
Searching...
No Matches
Macros | Functions
LLHDOps.cpp File Reference
#include "circt/Dialect/LLHD/IR/LLHDOps.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Support/CustomDirectiveImpl.h"
#include "mlir/IR/Attributes.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Matchers.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/Region.h"
#include "mlir/IR/Types.h"
#include "mlir/IR/Value.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "circt/Dialect/LLHD/IR/LLHDEnums.cpp.inc"
#include "circt/Dialect/LLHD/IR/LLHD.cpp.inc"
Include dependency graph for LLHDOps.cpp:

Go to the source code of this file.

Macros

#define GET_OP_CLASSES
 

Functions

static Value getValueAtIndex (OpBuilder &builder, Location loc, Value val, unsigned index)
 
template<class Op >
static OpFoldResult foldSigPtrExtractOp (Op op, ArrayRef< Attribute > operands)
 
template<class Op >
static OpFoldResult foldSigPtrArraySliceOp (Op op, ArrayRef< Attribute > operands)
 
template<class Op >
static LogicalResult canonicalizeSigPtrArraySliceOp (Op op, PatternRewriter &rewriter)
 
template<class OpType , class SigPtrType >
static LogicalResult inferReturnTypesOfStructExtractOp (MLIRContext *context, std::optional< Location > loc, ValueRange operands, DictionaryAttr attrs, mlir::OpaqueProperties properties, mlir::RegionRange regions, SmallVectorImpl< Type > &results)
 
static void getSortedPtrs (DenseMap< Attribute, MemorySlot > &subslots, SmallVectorImpl< std::pair< unsigned, Value > > &sorted)
 

Macro Definition Documentation

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 504 of file LLHDOps.cpp.

Function Documentation

◆ canonicalizeSigPtrArraySliceOp()

template<class Op >
static LogicalResult canonicalizeSigPtrArraySliceOp ( Op  op,
PatternRewriter &  rewriter 
)
static

Definition at line 201 of file LLHDOps.cpp.

◆ foldSigPtrArraySliceOp()

template<class Op >
static OpFoldResult foldSigPtrArraySliceOp ( Op  op,
ArrayRef< Attribute >  operands 
)
static

Definition at line 179 of file LLHDOps.cpp.

◆ foldSigPtrExtractOp()

template<class Op >
static OpFoldResult foldSigPtrExtractOp ( Op  op,
ArrayRef< Attribute >  operands 
)
static

Definition at line 153 of file LLHDOps.cpp.

◆ getSortedPtrs()

static void getSortedPtrs ( DenseMap< Attribute, MemorySlot > &  subslots,
SmallVectorImpl< std::pair< unsigned, Value > > &  sorted 
)
static

Definition at line 371 of file LLHDOps.cpp.

References assert().

◆ getValueAtIndex()

static Value getValueAtIndex ( OpBuilder &  builder,
Location  loc,
Value  val,
unsigned  index 
)
static

Definition at line 73 of file LLHDOps.cpp.

References hw.ConstantOp::create().

◆ inferReturnTypesOfStructExtractOp()

template<class OpType , class SigPtrType >
static LogicalResult inferReturnTypesOfStructExtractOp ( MLIRContext *  context,
std::optional< Location >  loc,
ValueRange  operands,
DictionaryAttr  attrs,
mlir::OpaqueProperties  properties,
mlir::RegionRange  regions,
SmallVectorImpl< Type > &  results 
)
static

Definition at line 287 of file LLHDOps.cpp.