CIRCT  19.0.0git
Namespaces | Macros | Functions
MooreToCore.cpp File Reference
#include "circt/Conversion/MooreToCore.h"
#include "circt/Dialect/Comb/CombOps.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/LLHD/IR/LLHDOps.h"
#include "circt/Dialect/Moore/MooreOps.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/IR/BuiltinDialect.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 MooreToCore.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_CONVERTMOORETOCORE
 

Functions

static bool isMooreType (Type type)
 
static bool hasMooreType (TypeRange types)
 
static bool hasMooreType (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

◆ GEN_PASS_DEF_CONVERTMOORETOCORE

#define GEN_PASS_DEF_CONVERTMOORETOCORE

Definition at line 26 of file MooreToCore.cpp.

Function Documentation

◆ addGenericLegality()

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

Definition at line 531 of file MooreToCore.cpp.

References hasMooreType().

◆ hasMooreType() [1/2]

static bool hasMooreType ( TypeRange  types)
static

Definition at line 522 of file MooreToCore.cpp.

References isMooreType().

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

◆ hasMooreType() [2/2]

static bool hasMooreType ( ValueRange  values)
static

Definition at line 526 of file MooreToCore.cpp.

References hasMooreType().

◆ isMooreType()

static bool isMooreType ( Type  type)
static

Definition at line 520 of file MooreToCore.cpp.

Referenced by hasMooreType().

◆ populateLegality()

static void populateLegality ( ConversionTarget &  target)
static

Definition at line 537 of file MooreToCore.cpp.

References hasMooreType().

◆ populateOpConversion()

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

◆ populateTypeConversion()

static void populateTypeConversion ( TypeConverter &  typeConverter)
static

Definition at line 572 of file MooreToCore.cpp.

References builder, circt::calyx::direction::get(), and inputs.