13#include "mlir/CAPI/IR.h"
14#include "mlir/CAPI/Registration.h"
15#include "mlir/CAPI/Support.h"
23 return llvm::isa<SVAttributeAttr>(
unwrap(cAttr));
27 MlirStringRef cExpression,
29 mlir::MLIRContext *ctxt =
unwrap(cCtxt);
30 mlir::StringAttr expr;
31 if (cExpression.data !=
nullptr)
32 expr = mlir::StringAttr::get(ctxt,
unwrap(cExpression));
34 SVAttributeAttr::get(ctxt, mlir::StringAttr::get(ctxt,
unwrap(cName)),
35 expr, mlir::BoolAttr::get(ctxt, emitAsComment)));
39 return wrap(llvm::cast<SVAttributeAttr>(
unwrap(cAttr)).getName().getValue());
43 auto expr = llvm::cast<SVAttributeAttr>(
unwrap(cAttr)).getExpression();
45 return wrap(expr.getValue());
50 return llvm::cast<SVAttributeAttr>(
unwrap(attribute))
return wrap(CMemoryType::get(unwrap(ctx), baseType, numElements))
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(CHIRRTL, chirrtl, circt::chirrtl::CHIRRTLDialect) MlirType chirrtlTypeGetCMemory(MlirContext ctx
static void registerPasses()
static EvaluatorValuePtr unwrap(OMEvaluatorValue c)
MlirStringRef svSVAttributeAttrGetName(MlirAttribute cAttr)
bool svAttrIsASVAttributeAttr(MlirAttribute cAttr)
bool svSVAttributeAttrGetEmitAsComment(MlirAttribute attribute)
MlirStringRef svSVAttributeAttrGetExpression(MlirAttribute cAttr)
MlirAttribute svSVAttributeAttrGet(MlirContext cCtxt, MlirStringRef cName, MlirStringRef cExpression, bool emitAsComment)