|
CIRCT 23.0.0git
|
#include "circt/Conversion/ArcToLLVM.h"#include "circt/Conversion/CombToArith.h"#include "circt/Conversion/CombToLLVM.h"#include "circt/Conversion/HWToLLVM.h"#include "circt/Dialect/Arc/ArcConstants.h"#include "circt/Dialect/Arc/ArcOps.h"#include "circt/Dialect/Arc/ModelInfo.h"#include "circt/Dialect/Arc/Runtime/Common.h"#include "circt/Dialect/Arc/Runtime/FmtDescriptor.h"#include "circt/Dialect/Arc/Runtime/JITBind.h"#include "circt/Dialect/Arc/Runtime/TraceTaps.h"#include "circt/Dialect/Comb/CombOps.h"#include "circt/Dialect/LLHD/LLHDOps.h"#include "circt/Dialect/LLHD/LLHDTypes.h"#include "circt/Dialect/Seq/SeqOps.h"#include "circt/Dialect/Sim/SimOps.h"#include "circt/Support/ConversionPatternSet.h"#include "circt/Support/Namespace.h"#include "mlir/Conversion/ArithToLLVM/ArithToLLVM.h"#include "mlir/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.h"#include "mlir/Conversion/FuncToLLVM/ConvertFuncToLLVM.h"#include "mlir/Conversion/IndexToLLVM/IndexToLLVM.h"#include "mlir/Conversion/LLVMCommon/ConversionTarget.h"#include "mlir/Conversion/LLVMCommon/TypeConverter.h"#include "mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h"#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"#include "mlir/Dialect/Func/IR/FuncOps.h"#include "mlir/Dialect/Index/IR/IndexOps.h"#include "mlir/Dialect/LLVMIR/FunctionCallUtils.h"#include "mlir/Dialect/LLVMIR/LLVMAttrs.h"#include "mlir/Dialect/LLVMIR/LLVMDialect.h"#include "mlir/Dialect/SCF/IR/SCF.h"#include "mlir/IR/Builders.h"#include "mlir/IR/BuiltinDialect.h"#include "mlir/Pass/Pass.h"#include "mlir/Transforms/DialectConversion.h"#include "llvm/Support/Debug.h"#include "llvm/Support/FormatVariadic.h"#include <cstddef>#include "circt/Conversion/Passes.h.inc"
Go to the source code of this file.
Classes | |
| struct | RuntimeModelOpLowering |
| struct | ArrayRefAllocOpLowering |
| struct | ArrayRefCreateOpLowering |
| struct | ArrayRefGetOpLowering |
| struct | ArrayRefInjectOpLowering |
| struct | ArrayRefSliceOpLowering |
| struct | ArrayRefCopyOpLowering |
| struct | ArrayRefToLLVMArrayOpLowering |
| struct | ArrayRefToArrayOpLowering |
| struct | ArrayRefFromArrayOpLowering |
Namespaces | |
| namespace | circt |
| The InstanceGraph op interface, see InstanceGraphInterface.td for more details. | |
Macros | |
| #define | DEBUG_TYPE "lower-arc-to-llvm" |
| #define | GEN_PASS_DEF_LOWERARCTOLLVM |
Functions | |
| static llvm::Twine | evalSymbolFromModelName (StringRef modelName) |
| static LogicalResult | convert (arc::ExecuteOp op, arc::ExecuteOp::Adaptor adaptor, ConversionPatternRewriter &rewriter, const TypeConverter &converter) |
| template<typename T , typename = std::enable_if_t<std::is_integral<T>::value>> | |
| static LLVM::GlobalOp | buildGlobalConstantIntArray (OpBuilder &builder, Location loc, Twine symName, SmallVectorImpl< T > &data, unsigned alignment=alignof(T)) |
| template<typename T > | |
| static LLVM::GlobalOp | buildGlobalConstantRuntimeStructArray (OpBuilder &builder, Location loc, Twine symName, SmallVectorImpl< T > &array) |
| size_t | computeByteWidth (ArrayRefType type) |
| size_t | computeElementByteWidth (ArrayRefType arrayRefType) |
| static Value | loadArrayRefAsArray (ImplicitLocOpBuilder &builder, Value arrayRef, ArrayRefType arrayRefType, LLVM::LLVMArrayType llvmType) |
| static void | storeArrayAsArrayRef (ImplicitLocOpBuilder &builder, Value array, Value arrayRef, ArrayRefType arrayRefType) |
| #define DEBUG_TYPE "lower-arc-to-llvm" |
Definition at line 50 of file LowerArcToLLVM.cpp.
| #define GEN_PASS_DEF_LOWERARCTOLLVM |
Definition at line 53 of file LowerArcToLLVM.cpp.
|
static |
Definition at line 1175 of file LowerArcToLLVM.cpp.
Referenced by RuntimeModelOpLowering::buildTraceInfoStruct().
|
static |
Definition at line 1193 of file LowerArcToLLVM.cpp.
References assert().
Referenced by RuntimeModelOpLowering::buildTraceInfoStruct().
| size_t computeByteWidth | ( | ArrayRefType | type | ) |
Definition at line 1408 of file LowerArcToLLVM.cpp.
References assert().
Referenced by ArrayRefAllocOpLowering::matchAndRewrite(), ArrayRefCopyOpLowering::matchAndRewrite(), and ArrayRefInjectOpLowering::matchAndRewrite().
| size_t computeElementByteWidth | ( | ArrayRefType | arrayRefType | ) |
Definition at line 1415 of file LowerArcToLLVM.cpp.
References assert().
Referenced by ArrayRefAllocOpLowering::initializeArray(), loadArrayRefAsArray(), ArrayRefCreateOpLowering::matchAndRewrite(), ArrayRefGetOpLowering::matchAndRewrite(), ArrayRefInjectOpLowering::matchAndRewrite(), ArrayRefSliceOpLowering::matchAndRewrite(), and storeArrayAsArrayRef().
|
static |
Definition at line 1122 of file LowerArcToLLVM.cpp.
Referenced by rtgLabelVisibilityAttrGet(), and rtgLabelVisibilityAttrGetValue().
|
static |
Definition at line 67 of file LowerArcToLLVM.cpp.
|
static |
Definition at line 1657 of file LowerArcToLLVM.cpp.
References computeElementByteWidth().
Referenced by ArrayRefToArrayOpLowering::matchAndRewrite(), and ArrayRefToLLVMArrayOpLowering::matchAndRewrite().
|
static |
Definition at line 1675 of file LowerArcToLLVM.cpp.
References computeElementByteWidth().
Referenced by ArrayRefFromArrayOpLowering::matchAndRewrite().