#include "circt/Conversion/HWToLLVM.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Support/LLVM.h"
#include "circt/Support/Namespace.h"
#include "mlir/Conversion/LLVMCommon/ConversionTarget.h"
#include "mlir/Conversion/LLVMCommon/Pattern.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/DialectConversion.h"
#include "llvm/ADT/TypeSwitch.h"
#include "circt/Conversion/Passes.h.inc"
Go to the source code of this file.
|
| circt |
| The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
|
|
|
static Value | zextByOne (Location loc, ConversionPatternRewriter &rewriter, Value value) |
| Create a zext operation by one bit on the given value. More...
|
|
static Type | convertArrayType (hw::ArrayType type, LLVMTypeConverter &converter) |
|
static Type | convertStructType (hw::StructType type, LLVMTypeConverter &converter) |
|
◆ GEN_PASS_DEF_CONVERTHWTOLLVM
#define GEN_PASS_DEF_CONVERTHWTOLLVM |
◆ convertArrayType()
static Type convertArrayType |
( |
hw::ArrayType |
type, |
|
|
LLVMTypeConverter & |
converter |
|
) |
| |
|
static |
◆ convertStructType()
static Type convertStructType |
( |
hw::StructType |
type, |
|
|
LLVMTypeConverter & |
converter |
|
) |
| |
|
static |
◆ zextByOne()
static Value zextByOne |
( |
Location |
loc, |
|
|
ConversionPatternRewriter & |
rewriter, |
|
|
Value |
value |
|
) |
| |
|
static |
Create a zext operation by one bit on the given value.
This is useful when passing unsigned indexes to a GEP instruction, which treats indexes as signed values, to avoid unexpected "sign overflows".
Definition at line 74 of file HWToLLVM.cpp.
References circt::calyx::direction::get().