Skip to content

Commit 914575d

Browse files
committed
Added EmitC attrs to CAPI
1 parent 48e4a98 commit 914575d

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

mlir/include/mlir-c/Dialect/EmitC.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,34 @@ MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCSizeTTypeGetTypeID(void);
9292

9393
MLIR_CAPI_EXPORTED MlirType mlirEmitCSizeTTypeGet(MlirContext ctx);
9494

95+
//===----------------------------------------------------------------------===//
96+
// CmpPredicate attribute.
97+
//===----------------------------------------------------------------------===//
98+
99+
MLIR_CAPI_EXPORTED bool mlirAttributeIsAEmitCCmpPredicate(MlirAttribute attr);
100+
101+
MLIR_CAPI_EXPORTED MlirAttribute mlirEmitCCmpPredicateAttrGet(MlirContext ctx,
102+
uint64_t val);
103+
104+
MLIR_CAPI_EXPORTED uint64_t
105+
mlirEmitCCmpPredicateAttrGetValue(MlirAttribute attr);
106+
107+
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCCmpPredicateAttrGetTypeID(void);
108+
109+
//===----------------------------------------------------------------------===//
110+
// Opaque attribute.
111+
//===----------------------------------------------------------------------===//
112+
113+
MLIR_CAPI_EXPORTED bool mlirAttributeIsAEmitCOpaque(MlirAttribute attr);
114+
115+
MLIR_CAPI_EXPORTED MlirAttribute mlirEmitCOpaqueAttrGet(MlirContext ctx,
116+
MlirStringRef value);
117+
118+
MLIR_CAPI_EXPORTED MlirStringRef
119+
mlirEmitCOpaqueAttrGetValue(MlirAttribute attr);
120+
121+
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCOpaqueAttrGetTypeID(void);
122+
95123
#ifdef __cplusplus
96124
}
97125
#endif

mlir/lib/CAPI/Dialect/EmitC.cpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,45 @@ MlirTypeID mlirEmitCSizeTTypeGetTypeID(void) {
127127
MlirType mlirEmitCSizeTTypeGet(MlirContext ctx) {
128128
return wrap(emitc::SizeTType::get(unwrap(ctx)));
129129
}
130+
131+
//===----------------------------------------------------------------------===//
132+
// CmpPredicate attribute.
133+
//===----------------------------------------------------------------------===//
134+
135+
bool mlirAttributeIsAEmitCCmpPredicate(MlirAttribute attr) {
136+
return llvm::isa<emitc::CmpPredicateAttr>(unwrap(attr));
137+
}
138+
139+
MlirAttribute mlirEmitCCmpPredicateAttrGet(MlirContext ctx, uint64_t val) {
140+
return wrap((Attribute)emitc::CmpPredicateAttr::get(
141+
unwrap(ctx), static_cast<emitc::CmpPredicate>(val)));
142+
}
143+
144+
uint64_t mlirEmitCCmpPredicateAttrGetValue(MlirAttribute attr) {
145+
return static_cast<uint64_t>(
146+
llvm::cast<emitc::CmpPredicateAttr>(unwrap(attr)).getValue());
147+
}
148+
149+
MlirTypeID mlirEmitCCmpPredicateAttrGetTypeID(void) {
150+
return wrap(emitc::CmpPredicateAttr::getTypeID());
151+
}
152+
153+
//===----------------------------------------------------------------------===//
154+
// Opaque attribute.
155+
//===----------------------------------------------------------------------===//
156+
157+
bool mlirAttributeIsAEmitCOpaque(MlirAttribute attr) {
158+
return llvm::isa<emitc::OpaqueAttr>(unwrap(attr));
159+
}
160+
161+
MlirAttribute mlirEmitCOpaqueAttrGet(MlirContext ctx, MlirStringRef value) {
162+
return wrap((Attribute)emitc::OpaqueAttr::get(unwrap(ctx), unwrap(value)));
163+
}
164+
165+
MlirStringRef mlirEmitCOpaqueAttrGetValue(MlirAttribute attr) {
166+
return wrap(llvm::cast<emitc::OpaqueAttr>(unwrap(attr)).getValue());
167+
}
168+
169+
MlirTypeID mlirEmitCOpaqueAttrGetTypeID(void) {
170+
return wrap(emitc::OpaqueAttr::getTypeID());
171+
}

0 commit comments

Comments
 (0)