#include "circt/Conversion/MooreToCore.h"
#include "circt/Dialect/Comb/CombOps.h"
#include "circt/Dialect/Debug/DebugOps.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/HW/HWTypes.h"
#include "circt/Dialect/LLHD/LLHDOps.h"
#include "circt/Dialect/LTL/LTLOps.h"
#include "circt/Dialect/Moore/MooreOps.h"
#include "circt/Dialect/Sim/SimOps.h"
#include "circt/Dialect/Verif/VerifOps.h"
#include "circt/Support/ConversionPatternSet.h"
#include "circt/Transforms/Passes.h"
#include "mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
#include "mlir/Dialect/ControlFlow/Transforms/StructuralTypeConversions.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/Dialect/LLVMIR/LLVMTypes.h"
#include "mlir/Dialect/Math/IR/Math.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/IR/BuiltinDialect.h"
#include "mlir/IR/Iterators.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/DialectConversion.h"
#include "mlir/Transforms/RegionUtils.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/IR/DerivedTypes.h"
#include "circt/Conversion/Passes.h.inc"
Go to the source code of this file.
|
| namespace | circt |
| | The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
|
| |
|
| static LogicalResult | convert (StopBIOp op, StopBIOp::Adaptor adaptor, ConversionPatternRewriter &rewriter) |
| |
| static LogicalResult | convert (FinishBIOp op, FinishBIOp::Adaptor adaptor, ConversionPatternRewriter &rewriter) |
| |
| static LogicalResult | convert (SeverityBIOp op, SeverityBIOp::Adaptor adaptor, ConversionPatternRewriter &rewriter) |
| |
| static LogicalResult | convert (UrandomRangeBIOp op, UrandomRangeBIOp::Adaptor adaptor, ConversionPatternRewriter &rewriter, FunctionCache &funcCache) |
| | moore.builtin.urandom_range -> call @__circt_urandom_range(i32, i32, ptr)
|
| |
| static LogicalResult | convert (FinishMessageBIOp op, FinishMessageBIOp::Adaptor adaptor, ConversionPatternRewriter &rewriter) |
| |
| static LogicalResult | convert (TimeBIOp op, TimeBIOp::Adaptor adaptor, ConversionPatternRewriter &rewriter) |
| |
| static LogicalResult | convert (LogicToTimeOp op, LogicToTimeOp::Adaptor adaptor, ConversionPatternRewriter &rewriter) |
| |
| static LogicalResult | convert (TimeToLogicOp op, TimeToLogicOp::Adaptor adaptor, ConversionPatternRewriter &rewriter) |
| |
| static void | populateLegality (ConversionTarget &target, const TypeConverter &converter) |
| |
| static void | populateTypeConversion (TypeConverter &typeConverter) |
| |
| static void | populateOpConversion (ConversionPatternSet &patterns, TypeConverter &typeConverter, ClassTypeCache &classCache, FunctionCache &funcCache) |
| |
◆ GEN_PASS_DEF_CONVERTMOORETOCORE
| #define GEN_PASS_DEF_CONVERTMOORETOCORE |
◆ convert() [1/8]
| static LogicalResult convert |
( |
FinishBIOp |
op, |
|
|
FinishBIOp::Adaptor |
adaptor, |
|
|
ConversionPatternRewriter & |
rewriter |
|
) |
| |
|
static |
◆ convert() [2/8]
| static LogicalResult convert |
( |
FinishMessageBIOp |
op, |
|
|
FinishMessageBIOp::Adaptor |
adaptor, |
|
|
ConversionPatternRewriter & |
rewriter |
|
) |
| |
|
static |
◆ convert() [3/8]
| static LogicalResult convert |
( |
LogicToTimeOp |
op, |
|
|
LogicToTimeOp::Adaptor |
adaptor, |
|
|
ConversionPatternRewriter & |
rewriter |
|
) |
| |
|
static |
◆ convert() [4/8]
| static LogicalResult convert |
( |
SeverityBIOp |
op, |
|
|
SeverityBIOp::Adaptor |
adaptor, |
|
|
ConversionPatternRewriter & |
rewriter |
|
) |
| |
|
static |
◆ convert() [5/8]
| static LogicalResult convert |
( |
StopBIOp |
op, |
|
|
StopBIOp::Adaptor |
adaptor, |
|
|
ConversionPatternRewriter & |
rewriter |
|
) |
| |
|
static |
◆ convert() [6/8]
| static LogicalResult convert |
( |
TimeBIOp |
op, |
|
|
TimeBIOp::Adaptor |
adaptor, |
|
|
ConversionPatternRewriter & |
rewriter |
|
) |
| |
|
static |
◆ convert() [7/8]
| static LogicalResult convert |
( |
TimeToLogicOp |
op, |
|
|
TimeToLogicOp::Adaptor |
adaptor, |
|
|
ConversionPatternRewriter & |
rewriter |
|
) |
| |
|
static |
◆ convert() [8/8]
| static LogicalResult convert |
( |
UrandomRangeBIOp |
op, |
|
|
UrandomRangeBIOp::Adaptor |
adaptor, |
|
|
ConversionPatternRewriter & |
rewriter, |
|
|
FunctionCache & |
funcCache |
|
) |
| |
|
static |
moore.builtin.urandom_range -> call @__circt_urandom_range(i32, i32, ptr)
The seed pointer is null when no seed is provided. When a seed ref is present, we probe the current value into an alloca before the call, and drive the (potentially mutated) value back after.
Definition at line 2812 of file MooreToCore.cpp.
References hw.ConstantOp::create().
◆ populateLegality()
| static void populateLegality |
( |
ConversionTarget & |
target, |
|
|
const TypeConverter & |
converter |
|
) |
| |
|
static |
◆ populateOpConversion()
| static void populateOpConversion |
( |
ConversionPatternSet & |
patterns, |
|
|
TypeConverter & |
typeConverter, |
|
|
ClassTypeCache & |
classCache, |
|
|
FunctionCache & |
funcCache |
|
) |
| |
|
static |
◆ populateTypeConversion()
| static void populateTypeConversion |
( |
TypeConverter & |
typeConverter | ) |
|
|
static |