CIRCT  20.0.0git
Namespaces | Macros | Functions
HWToLLVM.cpp File Reference
#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"
Include dependency graph for HWToLLVM.cpp:

Go to the source code of this file.

Namespaces

 circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
 

Macros

#define GEN_PASS_DEF_CONVERTHWTOLLVM
 

Functions

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)
 

Macro Definition Documentation

◆ GEN_PASS_DEF_CONVERTHWTOLLVM

#define GEN_PASS_DEF_CONVERTHWTOLLVM

Definition at line 25 of file HWToLLVM.cpp.

Function Documentation

◆ convertArrayType()

static Type convertArrayType ( hw::ArrayType  type,
LLVMTypeConverter &  converter 
)
static

Definition at line 607 of file HWToLLVM.cpp.

References circt::calyx::direction::get().

◆ convertStructType()

static Type convertStructType ( hw::StructType  type,
LLVMTypeConverter &  converter 
)
static

Definition at line 612 of file HWToLLVM.cpp.

◆ 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().