@@ -127,3 +127,45 @@ MlirTypeID mlirEmitCSizeTTypeGetTypeID(void) {
127127MlirType 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