CIRCT 24.0.0git
Loading...
Searching...
No Matches
SV.h
Go to the documentation of this file.
1//===- SV.h - C interface for the SV dialect ----------------------*- C -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef CIRCT_C_DIALECT_SV_H
10#define CIRCT_C_DIALECT_SV_H
11
12#include "mlir-c/IR.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
19MLIR_CAPI_EXPORTED void registerSVPasses(void);
20
21//===----------------------------------------------------------------------===//
22// Attribute API.
23//===----------------------------------------------------------------------===//
24
25MLIR_CAPI_EXPORTED bool svAttrIsASVAttributeAttr(MlirAttribute);
26MLIR_CAPI_EXPORTED MlirAttribute svSVAttributeAttrGet(MlirContext,
27 MlirStringRef name,
28 MlirStringRef expression,
29 bool emitAsComment);
30MLIR_CAPI_EXPORTED MlirStringRef svSVAttributeAttrGetName(MlirAttribute);
31MLIR_CAPI_EXPORTED MlirStringRef svSVAttributeAttrGetExpression(MlirAttribute);
32MLIR_CAPI_EXPORTED bool svSVAttributeAttrGetEmitAsComment(MlirAttribute);
33
34//===----------------------------------------------------------------------===//
35// Type API.
36//===----------------------------------------------------------------------===//
37
38MLIR_CAPI_EXPORTED bool svTypeIsANet(MlirType);
39MLIR_CAPI_EXPORTED MlirType svNetTypeGet(MlirType element);
40MLIR_CAPI_EXPORTED MlirType svNetTypeGetElementType(MlirType);
41
42MLIR_CAPI_EXPORTED bool svTypeIsAVar(MlirType);
43MLIR_CAPI_EXPORTED MlirType svVarTypeGet(MlirType element);
44MLIR_CAPI_EXPORTED MlirType svVarTypeGetElementType(MlirType);
45
46#ifdef __cplusplus
47}
48#endif
49
50#endif // CIRCT_C_DIALECT_SV_H
MLIR_CAPI_EXPORTED MlirAttribute svSVAttributeAttrGet(MlirContext, MlirStringRef name, MlirStringRef expression, bool emitAsComment)
Definition SV.cpp:27
MLIR_CAPI_EXPORTED bool svTypeIsANet(MlirType)
Definition SV.cpp:56
MLIR_CAPI_EXPORTED MlirType svVarTypeGet(MlirType element)
Definition SV.cpp:68
MLIR_CAPI_EXPORTED MlirStringRef svSVAttributeAttrGetExpression(MlirAttribute)
Definition SV.cpp:43
MLIR_CAPI_EXPORTED MlirType svVarTypeGetElementType(MlirType)
Definition SV.cpp:72
MLIR_CAPI_EXPORTED bool svSVAttributeAttrGetEmitAsComment(MlirAttribute)
Definition SV.cpp:50
MLIR_CAPI_EXPORTED MlirType svNetTypeGetElementType(MlirType)
Definition SV.cpp:62
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(SystemVerilog, sv)
MLIR_CAPI_EXPORTED bool svAttrIsASVAttributeAttr(MlirAttribute)
Definition SV.cpp:23
MLIR_CAPI_EXPORTED void registerSVPasses(void)
Definition SV.cpp:20
MLIR_CAPI_EXPORTED MlirStringRef svSVAttributeAttrGetName(MlirAttribute)
Definition SV.cpp:39
MLIR_CAPI_EXPORTED bool svTypeIsAVar(MlirType)
Definition SV.cpp:66
MLIR_CAPI_EXPORTED MlirType svNetTypeGet(MlirType element)
Definition SV.cpp:58
Definition sv.py:1