CIRCT  19.0.0git
Classes | Typedefs | Enumerations | Functions
FIRRTL.h File Reference
#include "mlir-c/IR.h"
Include dependency graph for FIRRTL.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FIRRTLBundleField
 
struct  FIRRTLClassElement
 

Typedefs

typedef enum FIRRTLConvention FIRRTLConvention
 
typedef enum FIRRTLDirection FIRRTLDirection
 
typedef enum FIRRTLNameKind FIRRTLNameKind
 
typedef enum FIRRTLRUW FIRRTLRUW
 
typedef enum FIRRTLMemDir FIRRTLMemDir
 
typedef enum FIRRTLEventControl FIRRTLEventControl
 
typedef enum FIRRTLValueFlow FIRRTLValueFlow
 
typedef struct FIRRTLBundleField FIRRTLBundleField
 
typedef struct FIRRTLClassElement FIRRTLClassElement
 

Enumerations

enum  FIRRTLConvention { FIRRTL_CONVENTION_INTERNAL , FIRRTL_CONVENTION_SCALARIZED }
 
enum  FIRRTLDirection { FIRRTL_DIRECTION_IN , FIRRTL_DIRECTION_OUT }
 
enum  FIRRTLNameKind { FIRRTL_NAME_KIND_DROPPABLE_NAME , FIRRTL_NAME_KIND_INTERESTING_NAME }
 
enum  FIRRTLRUW { FIRRTL_RUW_UNDEFINED , FIRRTL_RUW_OLD , FIRRTL_RUW_NEW }
 
enum  FIRRTLMemDir { FIRRTL_MEM_DIR_INFER , FIRRTL_MEM_DIR_READ , FIRRTL_MEM_DIR_WRITE , FIRRTL_MEM_DIR_READ_WRITE }
 
enum  FIRRTLEventControl { FIRRTL_EVENT_CONTROL_AT_POS_EDGE , FIRRTL_EVENT_CONTROL_AT_NEG_EDGE , FIRRTL_EVENT_CONTROL_AT_EDGE }
 
enum  FIRRTLValueFlow { FIRRTL_VALUE_FLOW_NONE , FIRRTL_VALUE_FLOW_SOURCE , FIRRTL_VALUE_FLOW_SINK , FIRRTL_VALUE_FLOW_DUPLEX }
 

Functions

 MLIR_DECLARE_CAPI_DIALECT_REGISTRATION (FIRRTL, firrtl)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetUInt (MlirContext ctx, int32_t width)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetSInt (MlirContext ctx, int32_t width)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetClock (MlirContext ctx)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetReset (MlirContext ctx)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetAsyncReset (MlirContext ctx)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetAnalog (MlirContext ctx, int32_t width)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetVector (MlirContext ctx, MlirType element, size_t count)
 
MLIR_CAPI_EXPORTED bool firrtlTypeIsAOpenBundle (MlirType type)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetBundle (MlirContext ctx, size_t count, const FIRRTLBundleField *fields)
 
MLIR_CAPI_EXPORTED unsigned firrtlTypeGetBundleFieldIndex (MlirType type, MlirStringRef fieldName)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetRef (MlirType target, bool forceable)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetAnyRef (MlirContext ctx)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetInteger (MlirContext ctx)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetDouble (MlirContext ctx)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetString (MlirContext ctx)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetBoolean (MlirContext ctx)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetPath (MlirContext ctx)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetList (MlirContext ctx, MlirType elementType)
 
MLIR_CAPI_EXPORTED MlirType firrtlTypeGetClass (MlirContext ctx, MlirAttribute name, size_t numberOfElements, const FIRRTLClassElement *elements)
 
MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetConvention (MlirContext ctx, FIRRTLConvention convention)
 
MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetPortDirs (MlirContext ctx, size_t count, const FIRRTLDirection *dirs)
 
MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetParamDecl (MlirContext ctx, MlirIdentifier name, MlirType type, MlirAttribute value)
 
MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetNameKind (MlirContext ctx, FIRRTLNameKind nameKind)
 
MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetRUW (MlirContext ctx, FIRRTLRUW ruw)
 
MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetMemInit (MlirContext ctx, MlirIdentifier filename, bool isBinary, bool isInline)
 
MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetMemDir (MlirContext ctx, FIRRTLMemDir dir)
 
MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetEventControl (MlirContext ctx, FIRRTLEventControl eventControl)
 
MLIR_CAPI_EXPORTED FIRRTLValueFlow firrtlValueFoldFlow (MlirValue value, FIRRTLValueFlow flow)
 
MLIR_CAPI_EXPORTED bool firrtlImportAnnotationsFromJSONRaw (MlirContext ctx, MlirStringRef annotationsStr, MlirAttribute *importedAnnotationsArray)
 

Typedef Documentation

◆ FIRRTLBundleField

◆ FIRRTLClassElement

◆ FIRRTLConvention

◆ FIRRTLDirection

◆ FIRRTLEventControl

◆ FIRRTLMemDir

typedef enum FIRRTLMemDir FIRRTLMemDir

◆ FIRRTLNameKind

◆ FIRRTLRUW

typedef enum FIRRTLRUW FIRRTLRUW

◆ FIRRTLValueFlow

Enumeration Type Documentation

◆ FIRRTLConvention

Enumerator
FIRRTL_CONVENTION_INTERNAL 
FIRRTL_CONVENTION_SCALARIZED 

Definition at line 19 of file FIRRTL.h.

◆ FIRRTLDirection

Enumerator
FIRRTL_DIRECTION_IN 
FIRRTL_DIRECTION_OUT 

Definition at line 25 of file FIRRTL.h.

◆ FIRRTLEventControl

Enumerator
FIRRTL_EVENT_CONTROL_AT_POS_EDGE 
FIRRTL_EVENT_CONTROL_AT_NEG_EDGE 
FIRRTL_EVENT_CONTROL_AT_EDGE 

Definition at line 52 of file FIRRTL.h.

◆ FIRRTLMemDir

Enumerator
FIRRTL_MEM_DIR_INFER 
FIRRTL_MEM_DIR_READ 
FIRRTL_MEM_DIR_WRITE 
FIRRTL_MEM_DIR_READ_WRITE 

Definition at line 44 of file FIRRTL.h.

◆ FIRRTLNameKind

Enumerator
FIRRTL_NAME_KIND_DROPPABLE_NAME 
FIRRTL_NAME_KIND_INTERESTING_NAME 

Definition at line 31 of file FIRRTL.h.

◆ FIRRTLRUW

enum FIRRTLRUW
Enumerator
FIRRTL_RUW_UNDEFINED 
FIRRTL_RUW_OLD 
FIRRTL_RUW_NEW 

Definition at line 37 of file FIRRTL.h.

◆ FIRRTLValueFlow

Enumerator
FIRRTL_VALUE_FLOW_NONE 
FIRRTL_VALUE_FLOW_SOURCE 
FIRRTL_VALUE_FLOW_SINK 
FIRRTL_VALUE_FLOW_DUPLEX 

Definition at line 59 of file FIRRTL.h.

Function Documentation

◆ firrtlAttrGetConvention()

MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetConvention ( MlirContext  ctx,
FIRRTLConvention  convention 
)

◆ firrtlAttrGetEventControl()

MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetEventControl ( MlirContext  ctx,
FIRRTLEventControl  eventControl 
)

◆ firrtlAttrGetMemDir()

MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetMemDir ( MlirContext  ctx,
FIRRTLMemDir  dir 
)

◆ firrtlAttrGetMemInit()

MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetMemInit ( MlirContext  ctx,
MlirIdentifier  filename,
bool  isBinary,
bool  isInline 
)

Definition at line 238 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlAttrGetNameKind()

MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetNameKind ( MlirContext  ctx,
FIRRTLNameKind  nameKind 
)

◆ firrtlAttrGetParamDecl()

MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetParamDecl ( MlirContext  ctx,
MlirIdentifier  name,
MlirType  type,
MlirAttribute  value 
)

Definition at line 199 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlAttrGetPortDirs()

MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetPortDirs ( MlirContext  ctx,
size_t  count,
const FIRRTLDirection dirs 
)

◆ firrtlAttrGetRUW()

MLIR_CAPI_EXPORTED MlirAttribute firrtlAttrGetRUW ( MlirContext  ctx,
FIRRTLRUW  ruw 
)

◆ firrtlImportAnnotationsFromJSONRaw()

MLIR_CAPI_EXPORTED bool firrtlImportAnnotationsFromJSONRaw ( MlirContext  ctx,
MlirStringRef  annotationsStr,
MlirAttribute *  importedAnnotationsArray 
)

◆ firrtlTypeGetAnalog()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetAnalog ( MlirContext  ctx,
int32_t  width 
)

Definition at line 56 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), width, and wrap().

◆ firrtlTypeGetAnyRef()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetAnyRef ( MlirContext  ctx)

Definition at line 117 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetAsyncReset()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetAsyncReset ( MlirContext  ctx)

Definition at line 52 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetBoolean()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetBoolean ( MlirContext  ctx)

Definition at line 133 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetBundle()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetBundle ( MlirContext  ctx,
size_t  count,
const FIRRTLBundleField fields 
)

Definition at line 71 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetBundleFieldIndex()

MLIR_CAPI_EXPORTED unsigned firrtlTypeGetBundleFieldIndex ( MlirType  type,
MlirStringRef  fieldName 
)

Definition at line 97 of file FIRRTL.cpp.

References assert(), and unwrap().

◆ firrtlTypeGetClass()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetClass ( MlirContext  ctx,
MlirAttribute  name,
size_t  numberOfElements,
const FIRRTLClassElement elements 
)

◆ firrtlTypeGetClock()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetClock ( MlirContext  ctx)

Definition at line 44 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetDouble()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetDouble ( MlirContext  ctx)

Definition at line 125 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetInteger()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetInteger ( MlirContext  ctx)

Definition at line 121 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetList()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetList ( MlirContext  ctx,
MlirType  elementType 
)

Definition at line 141 of file FIRRTL.cpp.

References assert(), elementType, circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetPath()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetPath ( MlirContext  ctx)

Definition at line 137 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetRef()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetRef ( MlirType  target,
bool  forceable 
)

Definition at line 110 of file FIRRTL.cpp.

References assert(), circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetReset()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetReset ( MlirContext  ctx)

Definition at line 48 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetSInt()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetSInt ( MlirContext  ctx,
int32_t  width 
)

Definition at line 40 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), width, and wrap().

◆ firrtlTypeGetString()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetString ( MlirContext  ctx)

Definition at line 129 of file FIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeGetUInt()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetUInt ( MlirContext  ctx,
int32_t  width 
)

◆ firrtlTypeGetVector()

MLIR_CAPI_EXPORTED MlirType firrtlTypeGetVector ( MlirContext  ctx,
MlirType  element,
size_t  count 
)

Definition at line 60 of file FIRRTL.cpp.

References assert(), circt::calyx::direction::get(), unwrap(), and wrap().

◆ firrtlTypeIsAOpenBundle()

MLIR_CAPI_EXPORTED bool firrtlTypeIsAOpenBundle ( MlirType  type)

Definition at line 67 of file FIRRTL.cpp.

References unwrap().

◆ firrtlValueFoldFlow()

MLIR_CAPI_EXPORTED FIRRTLValueFlow firrtlValueFoldFlow ( MlirValue  value,
FIRRTLValueFlow  flow 
)

◆ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION()

MLIR_DECLARE_CAPI_DIALECT_REGISTRATION ( FIRRTL  ,
firrtl   
)