Loading [MathJax]/extensions/tex2jax.js
CIRCT 22.0.0git
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
RTG.cpp File Reference
#include "circt-c/Dialect/RTG.h"
#include "circt/Dialect/RTG/IR/RTGAttributes.h"
#include "circt/Dialect/RTG/IR/RTGDialect.h"
#include "circt/Dialect/RTG/IR/RTGTypes.h"
#include "circt/Dialect/RTG/Transforms/RTGPassPipelines.h"
#include "circt/Dialect/RTG/Transforms/RTGPasses.h"
#include "mlir/CAPI/Pass.h"
#include "mlir/CAPI/Registration.h"
#include "circt/Dialect/RTG/Transforms/RTGPasses.capi.cpp.inc"
Include dependency graph for RTG.cpp:

Go to the source code of this file.

Functions

void registerRTGPipelines ()
 
bool rtgTypeIsASequence (MlirType type)
 If the type is an RTG sequence.
 
MlirType rtgSequenceTypeGet (MlirContext ctxt, intptr_t numElements, MlirType const *elementTypes)
 Creates an RTG sequence type in the context.
 
unsigned rtgSequenceTypeGetNumElements (MlirType type)
 The number of substitution elements of the RTG sequence.
 
MlirType rtgSequenceTypeGetElement (MlirType type, unsigned i)
 The type of of the substitution element at the given index.
 
bool rtgTypeIsARandomizedSequence (MlirType type)
 If the type is an RTG randomized sequence.
 
MlirType rtgRandomizedSequenceTypeGet (MlirContext ctxt)
 Creates an RTG randomized sequence type in the context.
 
bool rtgTypeIsALabel (MlirType type)
 If the type is an RTG label.
 
MlirType rtgLabelTypeGet (MlirContext ctxt)
 Creates an RTG mode type in the context.
 
bool rtgTypeIsASet (MlirType type)
 If the type is an RTG set.
 
MlirType rtgSetTypeGet (MlirType elementType)
 Creates an RTG set type in the context.
 
MlirType rtgSetTypeGetElementType (MlirType type)
 Return the element type of the RTG set.
 
bool rtgTypeIsABag (MlirType type)
 If the type is an RTG bag.
 
MlirType rtgBagTypeGet (MlirType elementType)
 Creates an RTG bag type in the context.
 
MlirType rtgBagTypeGetElementType (MlirType type)
 Return the element type of the RTG bag.
 
bool rtgTypeIsADict (MlirType type)
 If the type is an RTG dict.
 
MlirType rtgDictTypeGet (MlirContext ctxt, intptr_t numEntries, MlirAttribute const *entryNames, MlirType const *entryTypes)
 Creates an RTG dict type in the context.
 
MlirType rtgArrayTypeGet (MlirType elementType)
 Creates an RTG array type in the context.
 
bool rtgTypeIsAArray (MlirType type)
 If the type is an RTG array.
 
MlirType rtgArrayTypeGetElementType (MlirType type)
 Returns the element type of the RTG array.
 
MlirType rtgTupleTypeGet (MlirContext ctxt, intptr_t numFields, MlirType const *fieldTypes)
 Creates an RTG tuple type in the context.
 
bool rtgTypeIsATuple (MlirType type)
 If the type is an RTG tuple.
 
intptr_t rtgTypeGetNumFields (MlirType type)
 Returns the number of fields in the RTG tuple.
 
MlirType rtgTupleTypeGetFieldType (MlirType type, intptr_t idx)
 Returns a field type of the RTG tuple.
 
bool rtgTypeIsAImmediate (MlirType type)
 If the type is an RTG immediate.
 
MlirType rtgImmediateTypeGet (MlirContext ctx, uint32_t width)
 Creates an RTG immediate type in the context.
 
uint32_t rtgImmediateTypeGetWidth (MlirType type)
 Returns the width of the RTG immediate type.
 
bool rtgTypeIsAMemory (MlirType type)
 If the type is an RTG memory.
 
MlirType rtgMemoryTypeGet (MlirContext ctxt, uint32_t addressWidth)
 Creates an RTG memory type in the context.
 
uint32_t rtgMemoryTypeGetAddressWidth (MlirType type)
 Returns the address with of an RTG memory type.
 
bool rtgTypeIsAMemoryBlock (MlirType type)
 If the type is an RTG memory block.
 
MlirType rtgMemoryBlockTypeGet (MlirContext ctxt, uint32_t addressWidth)
 Creates an RTG memory block type in the context.
 
uint32_t rtgMemoryBlockTypeGetAddressWidth (MlirType type)
 Returns the address with of an RTG memory block type.
 
bool rtgAttrIsADefaultContextAttr (MlirAttribute attr)
 If the attribute is an RTG default context.
 
MlirAttribute rtgDefaultContextAttrGet (MlirContext ctxt, MlirType type)
 Creates an RTG default context attribute in the context.
 
bool rtgAttrIsALabelVisibilityAttr (MlirAttribute attr)
 If the attribute is an RTG label visibility.
 
RTGLabelVisibility rtgLabelVisibilityAttrGetValue (MlirAttribute attr)
 Get the RTG label visibility from the attribute.
 
MlirAttribute rtgLabelVisibilityAttrGet (MlirContext ctxt, RTGLabelVisibility visibility)
 Creates an RTG label visibility attribute in the context.
 
bool rtgAttrIsAImmediate (MlirAttribute attr)
 Checks if the attribute is an RTG immediate attribute.
 
MlirAttribute rtgImmediateAttrGet (MlirContext ctx, uint32_t width, uint64_t value)
 Creates an RTG immediate attribute in the context with the given width and value.
 
uint32_t rtgImmediateAttrGetWidth (MlirAttribute attr)
 Returns the width of the RTG immediate attribute.
 
uint64_t rtgImmediateAttrGetValue (MlirAttribute attr)
 Returns the value of the RTG immediate attribute.
 
bool rtgAttrIsAAnyContextAttr (MlirAttribute attr)
 If the attribute is an RTG any context attribute.
 
MlirAttribute rtgAnyContextAttrGet (MlirContext ctxt, MlirType type)
 Creates an RTG any context attribute in the context.
 

Function Documentation

◆ registerRTGPipelines()

void registerRTGPipelines ( void  )

Definition at line 28 of file RTG.cpp.

References circt::rtg::registerPipelines().

Referenced by registerPasses().

◆ rtgAnyContextAttrGet()

MlirAttribute rtgAnyContextAttrGet ( MlirContext  ctxt,
MlirType  type 
)

Creates an RTG any context attribute in the context.

Definition at line 281 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgArrayTypeGet()

MlirType rtgArrayTypeGet ( MlirType  elementType)

Creates an RTG array type in the context.

Definition at line 126 of file RTG.cpp.

References elementType, unwrap(), and wrap().

◆ rtgArrayTypeGetElementType()

MlirType rtgArrayTypeGetElementType ( MlirType  type)

Returns the element type of the RTG array.

Definition at line 133 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgAttrIsAAnyContextAttr()

bool rtgAttrIsAAnyContextAttr ( MlirAttribute  attr)

If the attribute is an RTG any context attribute.

Definition at line 277 of file RTG.cpp.

References unwrap().

◆ rtgAttrIsADefaultContextAttr()

bool rtgAttrIsADefaultContextAttr ( MlirAttribute  attr)

If the attribute is an RTG default context.

Definition at line 210 of file RTG.cpp.

References unwrap().

◆ rtgAttrIsAImmediate()

bool rtgAttrIsAImmediate ( MlirAttribute  attr)

Checks if the attribute is an RTG immediate attribute.

Definition at line 257 of file RTG.cpp.

References unwrap().

◆ rtgAttrIsALabelVisibilityAttr()

bool rtgAttrIsALabelVisibilityAttr ( MlirAttribute  attr)

If the attribute is an RTG label visibility.

Definition at line 221 of file RTG.cpp.

References unwrap().

◆ rtgBagTypeGet()

MlirType rtgBagTypeGet ( MlirType  elementType)

Creates an RTG bag type in the context.

Definition at line 96 of file RTG.cpp.

References elementType, unwrap(), and wrap().

◆ rtgBagTypeGetElementType()

MlirType rtgBagTypeGetElementType ( MlirType  type)

Return the element type of the RTG bag.

Definition at line 101 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgDefaultContextAttrGet()

MlirAttribute rtgDefaultContextAttrGet ( MlirContext  ctxt,
MlirType  type 
)

Creates an RTG default context attribute in the context.

Definition at line 214 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgDictTypeGet()

MlirType rtgDictTypeGet ( MlirContext  ctxt,
intptr_t  numEntries,
MlirAttribute const *  entryNames,
MlirType const *  entryTypes 
)

Creates an RTG dict type in the context.

Definition at line 110 of file RTG.cpp.

References circt::rtg::DictEntry::name, circt::rtg::DictEntry::type, unwrap(), and wrap().

◆ rtgImmediateAttrGet()

MlirAttribute rtgImmediateAttrGet ( MlirContext  ctx,
uint32_t  width,
uint64_t  value 
)

Creates an RTG immediate attribute in the context with the given width and value.

Definition at line 261 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgImmediateAttrGetValue()

uint64_t rtgImmediateAttrGetValue ( MlirAttribute  attr)

Returns the value of the RTG immediate attribute.

Definition at line 270 of file RTG.cpp.

References unwrap().

◆ rtgImmediateAttrGetWidth()

uint32_t rtgImmediateAttrGetWidth ( MlirAttribute  attr)

Returns the width of the RTG immediate attribute.

Definition at line 266 of file RTG.cpp.

References unwrap().

◆ rtgImmediateTypeGet()

MlirType rtgImmediateTypeGet ( MlirContext  ctx,
uint32_t  width 
)

Creates an RTG immediate type in the context.

Definition at line 167 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgImmediateTypeGetWidth()

uint32_t rtgImmediateTypeGetWidth ( MlirType  type)

Returns the width of the RTG immediate type.

Definition at line 171 of file RTG.cpp.

References unwrap().

◆ rtgLabelTypeGet()

MlirType rtgLabelTypeGet ( MlirContext  ctxt)

Creates an RTG mode type in the context.

Definition at line 73 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgLabelVisibilityAttrGet()

MlirAttribute rtgLabelVisibilityAttrGet ( MlirContext  ctxt,
RTGLabelVisibility  visibility 
)

Creates an RTG label visibility attribute in the context.

Definition at line 239 of file RTG.cpp.

References RTG_LABEL_VISIBILITY_EXTERNAL, RTG_LABEL_VISIBILITY_GLOBAL, RTG_LABEL_VISIBILITY_LOCAL, unwrap(), and wrap().

◆ rtgLabelVisibilityAttrGetValue()

RTGLabelVisibility rtgLabelVisibilityAttrGetValue ( MlirAttribute  attr)

Get the RTG label visibility from the attribute.

Definition at line 225 of file RTG.cpp.

References RTG_LABEL_VISIBILITY_EXTERNAL, RTG_LABEL_VISIBILITY_GLOBAL, RTG_LABEL_VISIBILITY_LOCAL, and unwrap().

◆ rtgMemoryBlockTypeGet()

MlirType rtgMemoryBlockTypeGet ( MlirContext  ctxt,
uint32_t  addressWidth 
)

Creates an RTG memory block type in the context.

Definition at line 195 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgMemoryBlockTypeGetAddressWidth()

uint32_t rtgMemoryBlockTypeGetAddressWidth ( MlirType  type)

Returns the address with of an RTG memory block type.

Definition at line 199 of file RTG.cpp.

References unwrap().

◆ rtgMemoryTypeGet()

MlirType rtgMemoryTypeGet ( MlirContext  ctxt,
uint32_t  addressWidth 
)

Creates an RTG memory type in the context.

Definition at line 180 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgMemoryTypeGetAddressWidth()

uint32_t rtgMemoryTypeGetAddressWidth ( MlirType  type)

Returns the address with of an RTG memory type.

Definition at line 184 of file RTG.cpp.

References unwrap().

◆ rtgRandomizedSequenceTypeGet()

MlirType rtgRandomizedSequenceTypeGet ( MlirContext  ctxt)

Creates an RTG randomized sequence type in the context.

Definition at line 64 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgSequenceTypeGet()

MlirType rtgSequenceTypeGet ( MlirContext  ctxt,
intptr_t  numElements,
MlirType const *  elementTypes 
)

Creates an RTG sequence type in the context.

Definition at line 41 of file RTG.cpp.

References numElements, unwrap(), and wrap().

◆ rtgSequenceTypeGetElement()

MlirType rtgSequenceTypeGetElement ( MlirType  type,
unsigned  i 
)

The type of of the substitution element at the given index.

Definition at line 53 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgSequenceTypeGetNumElements()

unsigned rtgSequenceTypeGetNumElements ( MlirType  type)

The number of substitution elements of the RTG sequence.

Definition at line 49 of file RTG.cpp.

References unwrap().

◆ rtgSetTypeGet()

MlirType rtgSetTypeGet ( MlirType  elementType)

Creates an RTG set type in the context.

Definition at line 82 of file RTG.cpp.

References elementType, unwrap(), and wrap().

◆ rtgSetTypeGetElementType()

MlirType rtgSetTypeGetElementType ( MlirType  type)

Return the element type of the RTG set.

Definition at line 87 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgTupleTypeGet()

MlirType rtgTupleTypeGet ( MlirContext  ctxt,
intptr_t  numFields,
MlirType const *  fieldTypes 
)

Creates an RTG tuple type in the context.

Definition at line 140 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgTupleTypeGetFieldType()

MlirType rtgTupleTypeGetFieldType ( MlirType  type,
intptr_t  idx 
)

Returns a field type of the RTG tuple.

Definition at line 156 of file RTG.cpp.

References unwrap(), and wrap().

◆ rtgTypeGetNumFields()

intptr_t rtgTypeGetNumFields ( MlirType  type)

Returns the number of fields in the RTG tuple.

Definition at line 152 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsAArray()

bool rtgTypeIsAArray ( MlirType  type)

If the type is an RTG array.

Definition at line 131 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsABag()

bool rtgTypeIsABag ( MlirType  type)

If the type is an RTG bag.

Definition at line 94 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsADict()

bool rtgTypeIsADict ( MlirType  type)

If the type is an RTG dict.

Definition at line 108 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsAImmediate()

bool rtgTypeIsAImmediate ( MlirType  type)

If the type is an RTG immediate.

Definition at line 163 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsALabel()

bool rtgTypeIsALabel ( MlirType  type)

If the type is an RTG label.

Definition at line 71 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsAMemory()

bool rtgTypeIsAMemory ( MlirType  type)

If the type is an RTG memory.

Definition at line 178 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsAMemoryBlock()

bool rtgTypeIsAMemoryBlock ( MlirType  type)

If the type is an RTG memory block.

Definition at line 191 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsARandomizedSequence()

bool rtgTypeIsARandomizedSequence ( MlirType  type)

If the type is an RTG randomized sequence.

Definition at line 60 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsASequence()

bool rtgTypeIsASequence ( MlirType  type)

If the type is an RTG sequence.

Definition at line 37 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsASet()

bool rtgTypeIsASet ( MlirType  type)

If the type is an RTG set.

Definition at line 80 of file RTG.cpp.

References unwrap().

◆ rtgTypeIsATuple()

bool rtgTypeIsATuple ( MlirType  type)

If the type is an RTG tuple.

Definition at line 148 of file RTG.cpp.

References unwrap().