#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"
Go to the source code of this file.
|
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) |
|
◆ GET_OP_CLASSES
◆ canonicalizeSigPtrArraySliceOp()
template<class Op >
static LogicalResult canonicalizeSigPtrArraySliceOp |
( |
Op |
op, |
|
|
PatternRewriter & |
rewriter |
|
) |
| |
|
static |
◆ foldSigPtrArraySliceOp()
template<class Op >
static OpFoldResult foldSigPtrArraySliceOp |
( |
Op |
op, |
|
|
ArrayRef< Attribute > |
operands |
|
) |
| |
|
static |
◆ foldSigPtrExtractOp()
template<class Op >
static OpFoldResult foldSigPtrExtractOp |
( |
Op |
op, |
|
|
ArrayRef< Attribute > |
operands |
|
) |
| |
|
static |
◆ getSortedPtrs()
static void getSortedPtrs |
( |
DenseMap< Attribute, MemorySlot > & |
subslots, |
|
|
SmallVectorImpl< std::pair< unsigned, Value > > & |
sorted |
|
) |
| |
|
static |
◆ getValueAtIndex()
static Value getValueAtIndex |
( |
OpBuilder & |
builder, |
|
|
Location |
loc, |
|
|
Value |
val, |
|
|
unsigned |
index |
|
) |
| |
|
static |
◆ 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 |