CIRCT  18.0.0git
Macros | Functions
LowerArcToLLVM.cpp File Reference
#include "../PassDetail.h"
#include "circt/Conversion/ArcToLLVM.h"
#include "circt/Conversion/CombToLLVM.h"
#include "circt/Conversion/HWToLLVM.h"
#include "circt/Dialect/Arc/ArcOps.h"
#include "circt/Dialect/Comb/CombOps.h"
#include "circt/Dialect/Seq/SeqOps.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/LLVMCommon/ConversionTarget.h"
#include "mlir/Conversion/LLVMCommon/TypeConverter.h"
#include "mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/LLVMIR/LLVMAttrs.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/IR/BuiltinDialect.h"
#include "mlir/Transforms/DialectConversion.h"
#include "llvm/Support/Debug.h"
Include dependency graph for LowerArcToLLVM.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "arc-lower-to-llvm"
 

Functions

static bool isArcType (Type type)
 
static bool hasArcType (TypeRange types)
 
static bool hasArcType (ValueRange values)
 
template<typename Op >
static void addGenericLegality (ConversionTarget &target)
 
static void populateLegality (ConversionTarget &target)
 
static void populateTypeConversion (TypeConverter &typeConverter)
 
static void populateOpConversion (RewritePatternSet &patterns, TypeConverter &typeConverter)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "arc-lower-to-llvm"

Definition at line 32 of file LowerArcToLLVM.cpp.

Function Documentation

◆ addGenericLegality()

template<typename Op >
static void addGenericLegality ( ConversionTarget &  target)
static

Definition at line 334 of file LowerArcToLLVM.cpp.

References hasArcType().

◆ hasArcType() [1/2]

static bool hasArcType ( TypeRange  types)
static

Definition at line 325 of file LowerArcToLLVM.cpp.

References isArcType().

Referenced by addGenericLegality(), hasArcType(), and populateLegality().

◆ hasArcType() [2/2]

static bool hasArcType ( ValueRange  values)
static

Definition at line 329 of file LowerArcToLLVM.cpp.

References hasArcType().

◆ isArcType()

static bool isArcType ( Type  type)
static

Definition at line 320 of file LowerArcToLLVM.cpp.

Referenced by hasArcType().

◆ populateLegality()

static void populateLegality ( ConversionTarget &  target)
static

Definition at line 340 of file LowerArcToLLVM.cpp.

References hasArcType().

◆ populateOpConversion()

static void populateOpConversion ( RewritePatternSet &  patterns,
TypeConverter &  typeConverter 
)
static

Definition at line 385 of file LowerArcToLLVM.cpp.

◆ populateTypeConversion()

static void populateTypeConversion ( TypeConverter &  typeConverter)
static

Definition at line 366 of file LowerArcToLLVM.cpp.

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