[Mlir-commits] [mlir] 1e73955 - [mlir] Use more C99 comments in C API header files

Alex Zinenko llvmlistbot at llvm.org
Mon Jan 25 10:23:14 PST 2021


Author: Alex Zinenko
Date: 2021-01-25T19:23:06+01:00
New Revision: 1e739552ee96db4b3f2d792976ea849cb6f23650

URL: https://github.com/llvm/llvm-project/commit/1e739552ee96db4b3f2d792976ea849cb6f23650
DIFF: https://github.com/llvm/llvm-project/commit/1e739552ee96db4b3f2d792976ea849cb6f23650.diff

LOG: [mlir] Use more C99 comments in C API header files

These were left over from the original reformatting commit.

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D95357

Added: 
    

Modified: 
    mlir/include/mlir-c/AffineExpr.h
    mlir/include/mlir-c/AffineMap.h
    mlir/include/mlir-c/BuiltinAttributes.h
    mlir/include/mlir-c/BuiltinTypes.h
    mlir/include/mlir-c/Diagnostics.h
    mlir/include/mlir-c/IR.h
    mlir/include/mlir-c/Pass.h
    mlir/include/mlir-c/Support.h

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir-c/AffineExpr.h b/mlir/include/mlir-c/AffineExpr.h
index d5c6e7b9f29e..5516f29088e4 100644
--- a/mlir/include/mlir-c/AffineExpr.h
+++ b/mlir/include/mlir-c/AffineExpr.h
@@ -17,17 +17,16 @@ extern "C" {
 #endif
 
 //===----------------------------------------------------------------------===//
-/** Opaque type declarations.
- *
- * Types are exposed to C bindings as structs containing opaque pointers. They
- * are not supposed to be inspected from C. This allows the underlying
- * representation to change without affecting the API users. The use of structs
- * instead of typedefs enables some type safety as structs are not implicitly
- * convertible to each other.
- *
- * Instances of these types may or may not own the underlying object. The
- * ownership semantics is defined by how an instance of the type was obtained.
- */
+// Opaque type declarations.
+//
+// Types are exposed to C bindings as structs containing opaque pointers. They
+// are not supposed to be inspected from C. This allows the underlying
+// representation to change without affecting the API users. The use of structs
+// instead of typedefs enables some type safety as structs are not implicitly
+// convertible to each other.
+//
+// Instances of these types may or may not own the underlying object. The
+// ownership semantics is defined by how an instance of the type was obtained.
 //===----------------------------------------------------------------------===//
 
 #define DEFINE_C_API_STRUCT(name, storage)                                     \
@@ -54,9 +53,9 @@ inline static bool mlirAffineExprIsNull(MlirAffineExpr affineExpr) {
   return affineExpr.ptr == NULL;
 }
 
-/** Prints an affine expression by sending chunks of the string representation
- * and forwarding `userData to `callback`. Note that the callback may be called
- * several times with consecutive chunks of the string. */
+/// Prints an affine expression by sending chunks of the string representation
+/// and forwarding `userData to `callback`. Note that the callback may be called
+/// several times with consecutive chunks of the string.
 MLIR_CAPI_EXPORTED void mlirAffineExprPrint(MlirAffineExpr affineExpr,
                                             MlirStringCallback callback,
                                             void *userData);
@@ -64,17 +63,17 @@ MLIR_CAPI_EXPORTED void mlirAffineExprPrint(MlirAffineExpr affineExpr,
 /// Prints the affine expression to the standard error stream.
 MLIR_CAPI_EXPORTED void mlirAffineExprDump(MlirAffineExpr affineExpr);
 
-/** Checks whether the given affine expression is made out of only symbols and
- * constants. */
+/// Checks whether the given affine expression is made out of only symbols and
+/// constants.
 MLIR_CAPI_EXPORTED bool
 mlirAffineExprIsSymbolicOrConstant(MlirAffineExpr affineExpr);
 
-/** Checks whether the given affine expression is a pure affine expression, i.e.
- * mul, floordiv, ceildic, and mod is only allowed w.r.t constants. */
+/// Checks whether the given affine expression is a pure affine expression, i.e.
+/// mul, floordiv, ceildic, and mod is only allowed w.r.t constants.
 MLIR_CAPI_EXPORTED bool mlirAffineExprIsPureAffine(MlirAffineExpr affineExpr);
 
-/** Returns the greatest known integral divisor of this affine expression. The
- * result is always positive. */
+/// Returns the greatest known integral divisor of this affine expression. The
+/// result is always positive.
 MLIR_CAPI_EXPORTED int64_t
 mlirAffineExprGetLargestKnownDivisor(MlirAffineExpr affineExpr);
 
@@ -82,8 +81,8 @@ mlirAffineExprGetLargestKnownDivisor(MlirAffineExpr affineExpr);
 MLIR_CAPI_EXPORTED bool mlirAffineExprIsMultipleOf(MlirAffineExpr affineExpr,
                                                    int64_t factor);
 
-/** Checks whether the given affine expression involves AffineDimExpr
- * 'position'. */
+/// Checks whether the given affine expression involves AffineDimExpr
+/// 'position'.
 MLIR_CAPI_EXPORTED bool mlirAffineExprIsFunctionOfDim(MlirAffineExpr affineExpr,
                                                       intptr_t position);
 
@@ -194,13 +193,13 @@ MLIR_CAPI_EXPORTED MlirAffineExpr mlirAffineCeilDivExprGet(MlirAffineExpr lhs,
 /// Checks whether the given affine expression is binary.
 MLIR_CAPI_EXPORTED bool mlirAffineExprIsABinary(MlirAffineExpr affineExpr);
 
-/** Returns the left hand side affine expression of the given affine binary
- * operation expression. */
+/// Returns the left hand side affine expression of the given affine binary
+/// operation expression.
 MLIR_CAPI_EXPORTED MlirAffineExpr
 mlirAffineBinaryOpExprGetLHS(MlirAffineExpr affineExpr);
 
-/** Returns the right hand side affine expression of the given affine binary
- * operation expression. */
+/// Returns the right hand side affine expression of the given affine binary
+/// operation expression.
 MLIR_CAPI_EXPORTED MlirAffineExpr
 mlirAffineBinaryOpExprGetRHS(MlirAffineExpr affineExpr);
 

diff  --git a/mlir/include/mlir-c/AffineMap.h b/mlir/include/mlir-c/AffineMap.h
index bf0c7c7b5381..de4f42f09f24 100644
--- a/mlir/include/mlir-c/AffineMap.h
+++ b/mlir/include/mlir-c/AffineMap.h
@@ -18,17 +18,16 @@ extern "C" {
 #endif
 
 //===----------------------------------------------------------------------===//
-/** Opaque type declarations.
- *
- * Types are exposed to C bindings as structs containing opaque pointers. They
- * are not supposed to be inspected from C. This allows the underlying
- * representation to change without affecting the API users. The use of structs
- * instead of typedefs enables some type safety as structs are not implicitly
- * convertible to each other.
- *
- * Instances of these types may or may not own the underlying object. The
- * ownership semantics is defined by how an instance of the type was obtained.
- */
+// Opaque type declarations.
+//
+// Types are exposed to C bindings as structs containing opaque pointers. They
+// are not supposed to be inspected from C. This allows the underlying
+// representation to change without affecting the API users. The use of structs
+// instead of typedefs enables some type safety as structs are not implicitly
+// convertible to each other.
+//
+// Instances of these types may or may not own the underlying object. The
+// ownership semantics is defined by how an instance of the type was obtained.
 //===----------------------------------------------------------------------===//
 
 #define DEFINE_C_API_STRUCT(name, storage)                                     \
@@ -52,9 +51,9 @@ static inline bool mlirAffineMapIsNull(MlirAffineMap affineMap) {
 /// Checks if two affine maps are equal.
 MLIR_CAPI_EXPORTED bool mlirAffineMapEqual(MlirAffineMap a1, MlirAffineMap a2);
 
-/** Prints an affine map by sending chunks of the string representation and
- * forwarding `userData to `callback`. Note that the callback may be called
- * several times with consecutive chunks of the string. */
+/// Prints an affine map by sending chunks of the string representation and
+/// forwarding `userData to `callback`. Note that the callback may be called
+/// several times with consecutive chunks of the string.
 MLIR_CAPI_EXPORTED void mlirAffineMapPrint(MlirAffineMap affineMap,
                                            MlirStringCallback callback,
                                            void *userData);
@@ -62,52 +61,52 @@ MLIR_CAPI_EXPORTED void mlirAffineMapPrint(MlirAffineMap affineMap,
 /// Prints the affine map to the standard error stream.
 MLIR_CAPI_EXPORTED void mlirAffineMapDump(MlirAffineMap affineMap);
 
-/** Creates a zero result affine map with no dimensions or symbols in the
- * context. The affine map is owned by the context. */
+/// Creates a zero result affine map with no dimensions or symbols in the
+/// context. The affine map is owned by the context.
 MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapEmptyGet(MlirContext ctx);
 
-/** Creates a zero result affine map of the given dimensions and symbols in the
- * context. The affine map is owned by the context. */
+/// Creates a zero result affine map of the given dimensions and symbols in the
+/// context. The affine map is owned by the context.
 MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapZeroResultGet(
     MlirContext ctx, intptr_t dimCount, intptr_t symbolCount);
 
-/** Creates an affine map with results defined by the given list of affine
- * expressions. The map resulting map also has the requested number of input
- * dimensions and symbols, regardless of them being used in the results.
- */
+/// Creates an affine map with results defined by the given list of affine
+/// expressions. The map resulting map also has the requested number of input
+/// dimensions and symbols, regardless of them being used in the results.
+
 MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapGet(MlirContext ctx,
                                                   intptr_t dimCount,
                                                   intptr_t symbolCount,
                                                   intptr_t nAffineExprs,
                                                   MlirAffineExpr *affineExprs);
 
-/** Creates a single constant result affine map in the context. The affine map
- * is owned by the context. */
+/// Creates a single constant result affine map in the context. The affine map
+/// is owned by the context.
 MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapConstantGet(MlirContext ctx,
                                                           int64_t val);
 
-/** Creates an affine map with 'numDims' identity in the context. The affine map
- * is owned by the context. */
+/// Creates an affine map with 'numDims' identity in the context. The affine map
+/// is owned by the context.
 MLIR_CAPI_EXPORTED MlirAffineMap
 mlirAffineMapMultiDimIdentityGet(MlirContext ctx, intptr_t numDims);
 
-/** Creates an identity affine map on the most minor dimensions in the context.
- * The affine map is owned by the context. The function asserts that the number
- * of dimensions is greater or equal to the number of results. */
+/// Creates an identity affine map on the most minor dimensions in the context.
+/// The affine map is owned by the context. The function asserts that the number
+/// of dimensions is greater or equal to the number of results.
 MLIR_CAPI_EXPORTED MlirAffineMap
 mlirAffineMapMinorIdentityGet(MlirContext ctx, intptr_t dims, intptr_t results);
 
-/** Creates an affine map with a permutation expression and its size in the
- * context. The permutation expression is a non-empty vector of integers.
- * The elements of the permutation vector must be continuous from 0 and cannot
- * be repeated (i.e. `[1,2,0]` is a valid permutation. `[2,0]` or `[1,1,2]` is
- * an invalid invalid permutation.) The affine map is owned by the context. */
+/// Creates an affine map with a permutation expression and its size in the
+/// context. The permutation expression is a non-empty vector of integers.
+/// The elements of the permutation vector must be continuous from 0 and cannot
+/// be repeated (i.e. `[1,2,0]` is a valid permutation. `[2,0]` or `[1,1,2]` is
+/// an invalid invalid permutation.) The affine map is owned by the context.
 MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapPermutationGet(
     MlirContext ctx, intptr_t size, unsigned *permutation);
 
-/** Checks whether the given affine map is an identity affine map. The function
- * asserts that the number of dimensions is greater or equal to the number of
- * results. */
+/// Checks whether the given affine map is an identity affine map. The function
+/// asserts that the number of dimensions is greater or equal to the number of
+/// results.
 MLIR_CAPI_EXPORTED bool mlirAffineMapIsIdentity(MlirAffineMap affineMap);
 
 /// Checks whether the given affine map is a minor identity affine map.
@@ -116,12 +115,12 @@ MLIR_CAPI_EXPORTED bool mlirAffineMapIsMinorIdentity(MlirAffineMap affineMap);
 /// Checks whether the given affine map is an empty affine map.
 MLIR_CAPI_EXPORTED bool mlirAffineMapIsEmpty(MlirAffineMap affineMap);
 
-/** Checks whether the given affine map is a single result constant affine
- * map. */
+/// Checks whether the given affine map is a single result constant affine
+/// map.
 MLIR_CAPI_EXPORTED bool mlirAffineMapIsSingleConstant(MlirAffineMap affineMap);
 
-/** Returns the constant result of the given affine map. The function asserts
- * that the map has a single constant result. */
+/// Returns the constant result of the given affine map. The function asserts
+/// that the map has a single constant result.
 MLIR_CAPI_EXPORTED int64_t
 mlirAffineMapGetSingleConstantResult(MlirAffineMap affineMap);
 
@@ -138,17 +137,17 @@ MLIR_CAPI_EXPORTED intptr_t mlirAffineMapGetNumResults(MlirAffineMap affineMap);
 MLIR_CAPI_EXPORTED MlirAffineExpr
 mlirAffineMapGetResult(MlirAffineMap affineMap, intptr_t pos);
 
-/** Returns the number of inputs (dimensions + symbols) of the given affine
- * map. */
+/// Returns the number of inputs (dimensions + symbols) of the given affine
+/// map.
 MLIR_CAPI_EXPORTED intptr_t mlirAffineMapGetNumInputs(MlirAffineMap affineMap);
 
-/** Checks whether the given affine map represents a subset of a symbol-less
- * permutation map. */
+/// Checks whether the given affine map represents a subset of a symbol-less
+/// permutation map.
 MLIR_CAPI_EXPORTED bool
 mlirAffineMapIsProjectedPermutation(MlirAffineMap affineMap);
 
-/** Checks whether the given affine map represents a symbol-less permutation
- * map. */
+/// Checks whether the given affine map represents a symbol-less permutation
+/// map.
 MLIR_CAPI_EXPORTED bool mlirAffineMapIsPermutation(MlirAffineMap affineMap);
 
 /// Returns the affine map consisting of the `resultPos` subset.
@@ -156,17 +155,17 @@ MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapGetSubMap(MlirAffineMap affineMap,
                                                         intptr_t size,
                                                         intptr_t *resultPos);
 
-/** Returns the affine map consisting of the most major `numResults` results.
- * Returns the null AffineMap if the `numResults` is equal to zero.
- * Returns the `affineMap` if `numResults` is greater or equals to number of
- * results of the given affine map. */
+/// Returns the affine map consisting of the most major `numResults` results.
+/// Returns the null AffineMap if the `numResults` is equal to zero.
+/// Returns the `affineMap` if `numResults` is greater or equals to number of
+/// results of the given affine map.
 MLIR_CAPI_EXPORTED MlirAffineMap
 mlirAffineMapGetMajorSubMap(MlirAffineMap affineMap, intptr_t numResults);
 
-/** Returns the affine map consisting of the most minor `numResults` results.
- * Returns the null AffineMap if the `numResults` is equal to zero.
- * Returns the `affineMap` if `numResults` is greater or equals to number of
- * results of the given affine map. */
+/// Returns the affine map consisting of the most minor `numResults` results.
+/// Returns the null AffineMap if the `numResults` is equal to zero.
+/// Returns the `affineMap` if `numResults` is greater or equals to number of
+/// results of the given affine map.
 MLIR_CAPI_EXPORTED MlirAffineMap
 mlirAffineMapGetMinorSubMap(MlirAffineMap affineMap, intptr_t numResults);
 

diff  --git a/mlir/include/mlir-c/BuiltinAttributes.h b/mlir/include/mlir-c/BuiltinAttributes.h
index 7c280f67e791..cc6db74968fc 100644
--- a/mlir/include/mlir-c/BuiltinAttributes.h
+++ b/mlir/include/mlir-c/BuiltinAttributes.h
@@ -29,8 +29,8 @@ extern "C" {
 /// Checks whether the given attribute is an affine map attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsAAffineMap(MlirAttribute attr);
 
-/** Creates an affine map attribute wrapping the given map. The attribute
- * belongs to the same context as the affine map. */
+/// Creates an affine map attribute wrapping the given map. The attribute
+/// belongs to the same context as the affine map.
 MLIR_CAPI_EXPORTED MlirAttribute mlirAffineMapAttrGet(MlirAffineMap map);
 
 /// Returns the affine map wrapped in the given affine map attribute.
@@ -43,8 +43,8 @@ MLIR_CAPI_EXPORTED MlirAffineMap mlirAffineMapAttrGetValue(MlirAttribute attr);
 /// Checks whether the given attribute is an array attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsAArray(MlirAttribute attr);
 
-/** Creates an array element containing the given list of elements in the given
- * context. */
+/// Creates an array element containing the given list of elements in the given
+/// context.
 MLIR_CAPI_EXPORTED MlirAttribute mlirArrayAttrGet(
     MlirContext ctx, intptr_t numElements, MlirAttribute const *elements);
 
@@ -62,8 +62,8 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirArrayAttrGetElement(MlirAttribute attr,
 /// Checks whether the given attribute is a dictionary attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsADictionary(MlirAttribute attr);
 
-/** Creates a dictionary attribute containing the given list of elements in the
- * provided context. */
+/// Creates a dictionary attribute containing the given list of elements in the
+/// provided context.
 MLIR_CAPI_EXPORTED MlirAttribute mlirDictionaryAttrGet(
     MlirContext ctx, intptr_t numElements, MlirNamedAttribute const *elements);
 
@@ -75,8 +75,8 @@ mlirDictionaryAttrGetNumElements(MlirAttribute attr);
 MLIR_CAPI_EXPORTED MlirNamedAttribute
 mlirDictionaryAttrGetElement(MlirAttribute attr, intptr_t pos);
 
-/** Returns the dictionary attribute element with the given name or NULL if the
- * given name does not exist in the dictionary. */
+/// Returns the dictionary attribute element with the given name or NULL if the
+/// given name does not exist in the dictionary.
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirDictionaryAttrGetElementByName(MlirAttribute attr, MlirStringRef name);
 
@@ -84,44 +84,44 @@ mlirDictionaryAttrGetElementByName(MlirAttribute attr, MlirStringRef name);
 // Floating point attribute.
 //===----------------------------------------------------------------------===//
 
-/* TODO: add support for APFloat and APInt to LLVM IR C API, then expose the
- * relevant functions here. */
+// TODO: add support for APFloat and APInt to LLVM IR C API, then expose the
+// relevant functions here.
 
 /// Checks whether the given attribute is a floating point attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsAFloat(MlirAttribute attr);
 
-/** Creates a floating point attribute in the given context with the given
- * double value and double-precision FP semantics. */
+/// Creates a floating point attribute in the given context with the given
+/// double value and double-precision FP semantics.
 MLIR_CAPI_EXPORTED MlirAttribute mlirFloatAttrDoubleGet(MlirContext ctx,
                                                         MlirType type,
                                                         double value);
 
-/** Same as "mlirFloatAttrDoubleGet", but if the type is not valid for a
- * construction of a FloatAttr, returns a null MlirAttribute. */
+/// Same as "mlirFloatAttrDoubleGet", but if the type is not valid for a
+/// construction of a FloatAttr, returns a null MlirAttribute.
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirFloatAttrDoubleGetChecked(MlirType type, double value, MlirLocation loc);
 
-/** Returns the value stored in the given floating point attribute, interpreting
- * the value as double. */
+/// Returns the value stored in the given floating point attribute, interpreting
+/// the value as double.
 MLIR_CAPI_EXPORTED double mlirFloatAttrGetValueDouble(MlirAttribute attr);
 
 //===----------------------------------------------------------------------===//
 // Integer attribute.
 //===----------------------------------------------------------------------===//
 
-/* TODO: add support for APFloat and APInt to LLVM IR C API, then expose the
- * relevant functions here. */
+// TODO: add support for APFloat and APInt to LLVM IR C API, then expose the
+// relevant functions here.
 
 /// Checks whether the given attribute is an integer attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsAInteger(MlirAttribute attr);
 
-/** Creates an integer attribute of the given type with the given integer
- * value. */
+/// Creates an integer attribute of the given type with the given integer
+/// value.
 MLIR_CAPI_EXPORTED MlirAttribute mlirIntegerAttrGet(MlirType type,
                                                     int64_t value);
 
-/** Returns the value stored in the given integer attribute, assuming the value
- * fits into a 64-bit integer. */
+/// Returns the value stored in the given integer attribute, assuming the value
+/// fits into a 64-bit integer.
 MLIR_CAPI_EXPORTED int64_t mlirIntegerAttrGetValueInt(MlirAttribute attr);
 
 //===----------------------------------------------------------------------===//
@@ -151,20 +151,20 @@ MLIR_CAPI_EXPORTED bool mlirAttributeIsAIntegerSet(MlirAttribute attr);
 /// Checks whether the given attribute is an opaque attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsAOpaque(MlirAttribute attr);
 
-/** Creates an opaque attribute in the given context associated with the dialect
- * identified by its namespace. The attribute contains opaque byte data of the
- * specified length (data need not be null-terminated). */
+/// Creates an opaque attribute in the given context associated with the dialect
+/// identified by its namespace. The attribute contains opaque byte data of the
+/// specified length (data need not be null-terminated).
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirOpaqueAttrGet(MlirContext ctx, MlirStringRef dialectNamespace,
                   intptr_t dataLength, const char *data, MlirType type);
 
-/** Returns the namespace of the dialect with which the given opaque attribute
- * is associated. The namespace string is owned by the context. */
+/// Returns the namespace of the dialect with which the given opaque attribute
+/// is associated. The namespace string is owned by the context.
 MLIR_CAPI_EXPORTED MlirStringRef
 mlirOpaqueAttrGetDialectNamespace(MlirAttribute attr);
 
-/** Returns the raw data as a string reference. The data remains live as long as
- * the context in which the attribute lives. */
+/// Returns the raw data as a string reference. The data remains live as long as
+/// the context in which the attribute lives.
 MLIR_CAPI_EXPORTED MlirStringRef mlirOpaqueAttrGetData(MlirAttribute attr);
 
 //===----------------------------------------------------------------------===//
@@ -174,18 +174,18 @@ MLIR_CAPI_EXPORTED MlirStringRef mlirOpaqueAttrGetData(MlirAttribute attr);
 /// Checks whether the given attribute is a string attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsAString(MlirAttribute attr);
 
-/** Creates a string attribute in the given context containing the given string.
- */
+/// Creates a string attribute in the given context containing the given string.
+
 MLIR_CAPI_EXPORTED MlirAttribute mlirStringAttrGet(MlirContext ctx,
                                                    MlirStringRef str);
 
-/** Creates a string attribute in the given context containing the given string.
- * Additionally, the attribute has the given type. */
+/// Creates a string attribute in the given context containing the given string.
+/// Additionally, the attribute has the given type.
 MLIR_CAPI_EXPORTED MlirAttribute mlirStringAttrTypedGet(MlirType type,
                                                         MlirStringRef str);
 
-/** Returns the attribute values as a string reference. The data remains live as
- * long as the context in which the attribute lives. */
+/// Returns the attribute values as a string reference. The data remains live as
+/// long as the context in which the attribute lives.
 MLIR_CAPI_EXPORTED MlirStringRef mlirStringAttrGetValue(MlirAttribute attr);
 
 //===----------------------------------------------------------------------===//
@@ -195,25 +195,25 @@ MLIR_CAPI_EXPORTED MlirStringRef mlirStringAttrGetValue(MlirAttribute attr);
 /// Checks whether the given attribute is a symbol reference attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsASymbolRef(MlirAttribute attr);
 
-/** Creates a symbol reference attribute in the given context referencing a
- * symbol identified by the given string inside a list of nested references.
- * Each of the references in the list must not be nested. */
+/// Creates a symbol reference attribute in the given context referencing a
+/// symbol identified by the given string inside a list of nested references.
+/// Each of the references in the list must not be nested.
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirSymbolRefAttrGet(MlirContext ctx, MlirStringRef symbol,
                      intptr_t numReferences, MlirAttribute const *references);
 
-/** Returns the string reference to the root referenced symbol. The data remains
- * live as long as the context in which the attribute lives. */
+/// Returns the string reference to the root referenced symbol. The data remains
+/// live as long as the context in which the attribute lives.
 MLIR_CAPI_EXPORTED MlirStringRef
 mlirSymbolRefAttrGetRootReference(MlirAttribute attr);
 
-/** Returns the string reference to the leaf referenced symbol. The data remains
- * live as long as the context in which the attribute lives. */
+/// Returns the string reference to the leaf referenced symbol. The data remains
+/// live as long as the context in which the attribute lives.
 MLIR_CAPI_EXPORTED MlirStringRef
 mlirSymbolRefAttrGetLeafReference(MlirAttribute attr);
 
-/** Returns the number of references nested in the given symbol reference
- * attribute. */
+/// Returns the number of references nested in the given symbol reference
+/// attribute.
 MLIR_CAPI_EXPORTED intptr_t
 mlirSymbolRefAttrGetNumNestedReferences(MlirAttribute attr);
 
@@ -228,13 +228,13 @@ mlirSymbolRefAttrGetNestedReference(MlirAttribute attr, intptr_t pos);
 /// Checks whether the given attribute is a flat symbol reference attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsAFlatSymbolRef(MlirAttribute attr);
 
-/** Creates a flat symbol reference attribute in the given context referencing a
- * symbol identified by the given string. */
+/// Creates a flat symbol reference attribute in the given context referencing a
+/// symbol identified by the given string.
 MLIR_CAPI_EXPORTED MlirAttribute mlirFlatSymbolRefAttrGet(MlirContext ctx,
                                                           MlirStringRef symbol);
 
-/** Returns the referenced symbol as a string reference. The data remains live
- * as long as the context in which the attribute lives. */
+/// Returns the referenced symbol as a string reference. The data remains live
+/// as long as the context in which the attribute lives.
 MLIR_CAPI_EXPORTED MlirStringRef
 mlirFlatSymbolRefAttrGetValue(MlirAttribute attr);
 
@@ -245,8 +245,8 @@ mlirFlatSymbolRefAttrGetValue(MlirAttribute attr);
 /// Checks whether the given attribute is a type attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsAType(MlirAttribute attr);
 
-/** Creates a type attribute wrapping the given type in the same context as the
- * type. */
+/// Creates a type attribute wrapping the given type in the same context as the
+/// type.
 MLIR_CAPI_EXPORTED MlirAttribute mlirTypeAttrGet(MlirType type);
 
 /// Returns the type stored in the given type attribute.
@@ -274,14 +274,14 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirElementsAttrGetValue(MlirAttribute attr,
                                                           intptr_t rank,
                                                           uint64_t *idxs);
 
-/** Checks whether the given rank-dimensional index is valid in the given
- * elements attribute. */
+/// Checks whether the given rank-dimensional index is valid in the given
+/// elements attribute.
 MLIR_CAPI_EXPORTED bool
 mlirElementsAttrIsValidIndex(MlirAttribute attr, intptr_t rank, uint64_t *idxs);
 
-/** Gets the total number of elements in the given elements attribute. In order
- * to iterate over the attribute, obtain its type, which must be a statically
- * shaped type and use its sizes to build a multi-dimensional index. */
+/// Gets the total number of elements in the given elements attribute. In order
+/// to iterate over the attribute, obtain its type, which must be a statically
+/// shaped type and use its sizes to build a multi-dimensional index.
 MLIR_CAPI_EXPORTED int64_t mlirElementsAttrGetNumElements(MlirAttribute attr);
 
 //===----------------------------------------------------------------------===//
@@ -289,21 +289,21 @@ MLIR_CAPI_EXPORTED int64_t mlirElementsAttrGetNumElements(MlirAttribute attr);
 //===----------------------------------------------------------------------===//
 
 // TODO: decide on the interface and add support for complex elements.
-/* TODO: add support for APFloat and APInt to LLVM IR C API, then expose the
- * relevant functions here. */
+// TODO: add support for APFloat and APInt to LLVM IR C API, then expose the
+// relevant functions here.
 
 /// Checks whether the given attribute is a dense elements attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsADenseElements(MlirAttribute attr);
 MLIR_CAPI_EXPORTED bool mlirAttributeIsADenseIntElements(MlirAttribute attr);
 MLIR_CAPI_EXPORTED bool mlirAttributeIsADenseFPElements(MlirAttribute attr);
 
-/** Creates a dense elements attribute with the given Shaped type and elements
- * in the same context as the type. */
+/// Creates a dense elements attribute with the given Shaped type and elements
+/// in the same context as the type.
 MLIR_CAPI_EXPORTED MlirAttribute mlirDenseElementsAttrGet(
     MlirType shapedType, intptr_t numElements, MlirAttribute const *elements);
 
-/** Creates a dense elements attribute with the given Shaped type containing a
- * single replicated element (splat). */
+/// Creates a dense elements attribute with the given Shaped type containing a
+/// single replicated element (splat).
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirDenseElementsAttrSplatGet(MlirType shapedType, MlirAttribute element);
 MLIR_CAPI_EXPORTED MlirAttribute
@@ -321,9 +321,9 @@ mlirDenseElementsAttrFloatSplatGet(MlirType shapedType, float element);
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirDenseElementsAttrDoubleSplatGet(MlirType shapedType, double element);
 
-/** Creates a dense elements attribute with the given shaped type from elements
- * of a specific type. Expects the element type of the shaped type to match the
- * data element type. */
+/// Creates a dense elements attribute with the given shaped type from elements
+/// of a specific type. Expects the element type of the shaped type to match the
+/// data element type.
 MLIR_CAPI_EXPORTED MlirAttribute mlirDenseElementsAttrBoolGet(
     MlirType shapedType, intptr_t numElements, const int *elements);
 MLIR_CAPI_EXPORTED MlirAttribute mlirDenseElementsAttrUInt32Get(
@@ -339,23 +339,23 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirDenseElementsAttrFloatGet(
 MLIR_CAPI_EXPORTED MlirAttribute mlirDenseElementsAttrDoubleGet(
     MlirType shapedType, intptr_t numElements, const double *elements);
 
-/** Creates a dense elements attribute with the given shaped type from string
- * elements. */
+/// Creates a dense elements attribute with the given shaped type from string
+/// elements.
 MLIR_CAPI_EXPORTED MlirAttribute mlirDenseElementsAttrStringGet(
     MlirType shapedType, intptr_t numElements, MlirStringRef *strs);
 
-/** Creates a dense elements attribute that has the same data as the given dense
- * elements attribute and a 
diff erent shaped type. The new type must have the
- * same total number of elements. */
+/// Creates a dense elements attribute that has the same data as the given dense
+/// elements attribute and a 
diff erent shaped type. The new type must have the
+/// same total number of elements.
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirDenseElementsAttrReshapeGet(MlirAttribute attr, MlirType shapedType);
 
-/** Checks whether the given dense elements attribute contains a single
- * replicated value (splat). */
+/// Checks whether the given dense elements attribute contains a single
+/// replicated value (splat).
 MLIR_CAPI_EXPORTED bool mlirDenseElementsAttrIsSplat(MlirAttribute attr);
 
-/** Returns the single replicated value (splat) of a specific type contained by
- * the given dense elements attribute. */
+/// Returns the single replicated value (splat) of a specific type contained by
+/// the given dense elements attribute.
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirDenseElementsAttrGetSplatValue(MlirAttribute attr);
 MLIR_CAPI_EXPORTED int
@@ -375,8 +375,8 @@ mlirDenseElementsAttrGetDoubleSplatValue(MlirAttribute attr);
 MLIR_CAPI_EXPORTED MlirStringRef
 mlirDenseElementsAttrGetStringSplatValue(MlirAttribute attr);
 
-/** Returns the pos-th value (flat contiguous indexing) of a specific type
- * contained by the given dense elements attribute. */
+/// Returns the pos-th value (flat contiguous indexing) of a specific type
+/// contained by the given dense elements attribute.
 MLIR_CAPI_EXPORTED bool mlirDenseElementsAttrGetBoolValue(MlirAttribute attr,
                                                           intptr_t pos);
 MLIR_CAPI_EXPORTED int32_t
@@ -394,7 +394,7 @@ mlirDenseElementsAttrGetDoubleValue(MlirAttribute attr, intptr_t pos);
 MLIR_CAPI_EXPORTED MlirStringRef
 mlirDenseElementsAttrGetStringValue(MlirAttribute attr, intptr_t pos);
 
-/** Returns the raw data of the given dense elements attribute. */
+/// Returns the raw data of the given dense elements attribute.
 MLIR_CAPI_EXPORTED const void *
 mlirDenseElementsAttrGetRawData(MlirAttribute attr);
 
@@ -414,21 +414,21 @@ MLIR_CAPI_EXPORTED bool mlirAttributeIsAOpaqueElements(MlirAttribute attr);
 /// Checks whether the given attribute is a sparse elements attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsASparseElements(MlirAttribute attr);
 
-/** Creates a sparse elements attribute of the given shape from a list of
- * indices and a list of associated values. Both lists are expected to be dense
- * elements attributes with the same number of elements. The list of indices is
- * expected to contain 64-bit integers. The attribute is created in the same
- * context as the type. */
+/// Creates a sparse elements attribute of the given shape from a list of
+/// indices and a list of associated values. Both lists are expected to be dense
+/// elements attributes with the same number of elements. The list of indices is
+/// expected to contain 64-bit integers. The attribute is created in the same
+/// context as the type.
 MLIR_CAPI_EXPORTED MlirAttribute mlirSparseElementsAttribute(
     MlirType shapedType, MlirAttribute denseIndices, MlirAttribute denseValues);
 
-/** Returns the dense elements attribute containing 64-bit integer indices of
- * non-null elements in the given sparse elements attribute. */
+/// Returns the dense elements attribute containing 64-bit integer indices of
+/// non-null elements in the given sparse elements attribute.
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirSparseElementsAttrGetIndices(MlirAttribute attr);
 
-/** Returns the dense elements attribute containing the non-null elements in the
- * given sparse elements attribute. */
+/// Returns the dense elements attribute containing the non-null elements in the
+/// given sparse elements attribute.
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirSparseElementsAttrGetValues(MlirAttribute attr);
 

diff  --git a/mlir/include/mlir-c/BuiltinTypes.h b/mlir/include/mlir-c/BuiltinTypes.h
index 9712d58ad87a..cb942da1ae1a 100644
--- a/mlir/include/mlir-c/BuiltinTypes.h
+++ b/mlir/include/mlir-c/BuiltinTypes.h
@@ -25,18 +25,18 @@ extern "C" {
 /// Checks whether the given type is an integer type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsAInteger(MlirType type);
 
-/** Creates a signless integer type of the given bitwidth in the context. The
- * type is owned by the context. */
+/// Creates a signless integer type of the given bitwidth in the context. The
+/// type is owned by the context.
 MLIR_CAPI_EXPORTED MlirType mlirIntegerTypeGet(MlirContext ctx,
                                                unsigned bitwidth);
 
-/** Creates a signed integer type of the given bitwidth in the context. The type
- * is owned by the context. */
+/// Creates a signed integer type of the given bitwidth in the context. The type
+/// is owned by the context.
 MLIR_CAPI_EXPORTED MlirType mlirIntegerTypeSignedGet(MlirContext ctx,
                                                      unsigned bitwidth);
 
-/** Creates an unsigned integer type of the given bitwidth in the context. The
- * type is owned by the context. */
+/// Creates an unsigned integer type of the given bitwidth in the context. The
+/// type is owned by the context.
 MLIR_CAPI_EXPORTED MlirType mlirIntegerTypeUnsignedGet(MlirContext ctx,
                                                        unsigned bitwidth);
 
@@ -59,8 +59,8 @@ MLIR_CAPI_EXPORTED bool mlirIntegerTypeIsUnsigned(MlirType type);
 /// Checks whether the given type is an index type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsAIndex(MlirType type);
 
-/** Creates an index type in the given context. The type is owned by the
- * context. */
+/// Creates an index type in the given context. The type is owned by the
+/// context.
 MLIR_CAPI_EXPORTED MlirType mlirIndexTypeGet(MlirContext ctx);
 
 //===----------------------------------------------------------------------===//
@@ -70,29 +70,29 @@ MLIR_CAPI_EXPORTED MlirType mlirIndexTypeGet(MlirContext ctx);
 /// Checks whether the given type is a bf16 type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsABF16(MlirType type);
 
-/** Creates a bf16 type in the given context. The type is owned by the
- * context. */
+/// Creates a bf16 type in the given context. The type is owned by the
+/// context.
 MLIR_CAPI_EXPORTED MlirType mlirBF16TypeGet(MlirContext ctx);
 
 /// Checks whether the given type is an f16 type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsAF16(MlirType type);
 
-/** Creates an f16 type in the given context. The type is owned by the
- * context. */
+/// Creates an f16 type in the given context. The type is owned by the
+/// context.
 MLIR_CAPI_EXPORTED MlirType mlirF16TypeGet(MlirContext ctx);
 
 /// Checks whether the given type is an f32 type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsAF32(MlirType type);
 
-/** Creates an f32 type in the given context. The type is owned by the
- * context. */
+/// Creates an f32 type in the given context. The type is owned by the
+/// context.
 MLIR_CAPI_EXPORTED MlirType mlirF32TypeGet(MlirContext ctx);
 
 /// Checks whether the given type is an f64 type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsAF64(MlirType type);
 
-/** Creates a f64 type in the given context. The type is owned by the
- * context. */
+/// Creates a f64 type in the given context. The type is owned by the
+/// context.
 MLIR_CAPI_EXPORTED MlirType mlirF64TypeGet(MlirContext ctx);
 
 //===----------------------------------------------------------------------===//
@@ -102,8 +102,8 @@ MLIR_CAPI_EXPORTED MlirType mlirF64TypeGet(MlirContext ctx);
 /// Checks whether the given type is a None type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsANone(MlirType type);
 
-/** Creates a None type in the given context. The type is owned by the
- * context. */
+/// Creates a None type in the given context. The type is owned by the
+/// context.
 MLIR_CAPI_EXPORTED MlirType mlirNoneTypeGet(MlirContext ctx);
 
 //===----------------------------------------------------------------------===//
@@ -113,8 +113,8 @@ MLIR_CAPI_EXPORTED MlirType mlirNoneTypeGet(MlirContext ctx);
 /// Checks whether the given type is a Complex type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsAComplex(MlirType type);
 
-/** Creates a complex type with the given element type in the same context as
- * the element type. The type is owned by the context. */
+/// Creates a complex type with the given element type in the same context as
+/// the element type. The type is owned by the context.
 MLIR_CAPI_EXPORTED MlirType mlirComplexTypeGet(MlirType elementType);
 
 /// Returns the element type of the given complex type.
@@ -146,12 +146,12 @@ MLIR_CAPI_EXPORTED bool mlirShapedTypeIsDynamicDim(MlirType type, intptr_t dim);
 MLIR_CAPI_EXPORTED int64_t mlirShapedTypeGetDimSize(MlirType type,
                                                     intptr_t dim);
 
-/** Checks whether the given value is used as a placeholder for dynamic sizes
- * in shaped types. */
+/// Checks whether the given value is used as a placeholder for dynamic sizes
+/// in shaped types.
 MLIR_CAPI_EXPORTED bool mlirShapedTypeIsDynamicSize(int64_t size);
 
-/** Checks whether the given value is used as a placeholder for dynamic strides
- * and offsets in shaped types. */
+/// Checks whether the given value is used as a placeholder for dynamic strides
+/// and offsets in shaped types.
 MLIR_CAPI_EXPORTED bool mlirShapedTypeIsDynamicStrideOrOffset(int64_t val);
 
 //===----------------------------------------------------------------------===//
@@ -161,15 +161,15 @@ MLIR_CAPI_EXPORTED bool mlirShapedTypeIsDynamicStrideOrOffset(int64_t val);
 /// Checks whether the given type is a Vector type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsAVector(MlirType type);
 
-/** Creates a vector type of the shape identified by its rank and dimensions,
- * with the given element type in the same context as the element type. The type
- * is owned by the context. */
+/// Creates a vector type of the shape identified by its rank and dimensions,
+/// with the given element type in the same context as the element type. The
+/// type is owned by the context.
 MLIR_CAPI_EXPORTED MlirType mlirVectorTypeGet(intptr_t rank,
                                               const int64_t *shape,
                                               MlirType elementType);
 
-/** Same as "mlirVectorTypeGet" but returns a nullptr wrapping MlirType on
- * illegal arguments, emitting appropriate diagnostics. */
+/// Same as "mlirVectorTypeGet" but returns a nullptr wrapping MlirType on
+/// illegal arguments, emitting appropriate diagnostics.
 MLIR_CAPI_EXPORTED MlirType mlirVectorTypeGetChecked(intptr_t rank,
                                                      const int64_t *shape,
                                                      MlirType elementType,
@@ -188,25 +188,25 @@ MLIR_CAPI_EXPORTED bool mlirTypeIsARankedTensor(MlirType type);
 /// Checks whether the given type is an unranked tensor type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsAUnrankedTensor(MlirType type);
 
-/** Creates a tensor type of a fixed rank with the given shape and element type
- * in the same context as the element type. The type is owned by the context. */
+/// Creates a tensor type of a fixed rank with the given shape and element type
+/// in the same context as the element type. The type is owned by the context.
 MLIR_CAPI_EXPORTED MlirType mlirRankedTensorTypeGet(intptr_t rank,
                                                     const int64_t *shape,
                                                     MlirType elementType);
 
-/** Same as "mlirRankedTensorTypeGet" but returns a nullptr wrapping MlirType on
- * illegal arguments, emitting appropriate diagnostics. */
+/// Same as "mlirRankedTensorTypeGet" but returns a nullptr wrapping MlirType on
+/// illegal arguments, emitting appropriate diagnostics.
 MLIR_CAPI_EXPORTED MlirType mlirRankedTensorTypeGetChecked(intptr_t rank,
                                                            const int64_t *shape,
                                                            MlirType elementType,
                                                            MlirLocation loc);
 
-/** Creates an unranked tensor type with the given element type in the same
- * context as the element type. The type is owned by the context. */
+/// Creates an unranked tensor type with the given element type in the same
+/// context as the element type. The type is owned by the context.
 MLIR_CAPI_EXPORTED MlirType mlirUnrankedTensorTypeGet(MlirType elementType);
 
-/** Same as "mlirUnrankedTensorTypeGet" but returns a nullptr wrapping MlirType
- * on illegal arguments, emitting appropriate diagnostics. */
+/// Same as "mlirUnrankedTensorTypeGet" but returns a nullptr wrapping MlirType
+/// on illegal arguments, emitting appropriate diagnostics.
 MLIR_CAPI_EXPORTED MlirType
 mlirUnrankedTensorTypeGetChecked(MlirType elementType, MlirLocation loc);
 
@@ -220,41 +220,41 @@ MLIR_CAPI_EXPORTED bool mlirTypeIsAMemRef(MlirType type);
 /// Checks whether the given type is an UnrankedMemRef type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsAUnrankedMemRef(MlirType type);
 
-/** Creates a MemRef type with the given rank and shape, a potentially empty
- * list of affine layout maps, the given memory space and element type, in the
- * same context as element type. The type is owned by the context. */
+/// Creates a MemRef type with the given rank and shape, a potentially empty
+/// list of affine layout maps, the given memory space and element type, in the
+/// same context as element type. The type is owned by the context.
 MLIR_CAPI_EXPORTED MlirType mlirMemRefTypeGet(
     MlirType elementType, intptr_t rank, const int64_t *shape, intptr_t numMaps,
     MlirAffineMap const *affineMaps, unsigned memorySpace);
 
-/** Same as "mlirMemRefTypeGet" but returns a nullptr-wrapping MlirType o
- * illegal arguments, emitting appropriate diagnostics. */
+/// Same as "mlirMemRefTypeGet" but returns a nullptr-wrapping MlirType o
+/// illegal arguments, emitting appropriate diagnostics.
 MLIR_CAPI_EXPORTED MlirType mlirMemRefTypeGetChecked(
     MlirType elementType, intptr_t rank, const int64_t *shape, intptr_t numMaps,
     MlirAffineMap const *affineMaps, unsigned memorySpace, MlirLocation loc);
 
-/** Creates a MemRef type with the given rank, shape, memory space and element
- * type in the same context as the element type. The type has no affine maps,
- * i.e. represents a default row-major contiguous memref. The type is owned by
- * the context. */
+/// Creates a MemRef type with the given rank, shape, memory space and element
+/// type in the same context as the element type. The type has no affine maps,
+/// i.e. represents a default row-major contiguous memref. The type is owned by
+/// the context.
 MLIR_CAPI_EXPORTED MlirType mlirMemRefTypeContiguousGet(MlirType elementType,
                                                         intptr_t rank,
                                                         const int64_t *shape,
                                                         unsigned memorySpace);
 
-/** Same as "mlirMemRefTypeContiguousGet" but returns a nullptr wrapping
- * MlirType on illegal arguments, emitting appropriate diagnostics. */
+/// Same as "mlirMemRefTypeContiguousGet" but returns a nullptr wrapping
+/// MlirType on illegal arguments, emitting appropriate diagnostics.
 MLIR_CAPI_EXPORTED MlirType mlirMemRefTypeContiguousGetChecked(
     MlirType elementType, intptr_t rank, const int64_t *shape,
     unsigned memorySpace, MlirLocation loc);
 
-/** Creates an Unranked MemRef type with the given element type and in the given
- * memory space. The type is owned by the context of element type. */
+/// Creates an Unranked MemRef type with the given element type and in the given
+/// memory space. The type is owned by the context of element type.
 MLIR_CAPI_EXPORTED MlirType mlirUnrankedMemRefTypeGet(MlirType elementType,
                                                       unsigned memorySpace);
 
-/** Same as "mlirUnrankedMemRefTypeGet" but returns a nullptr wrapping
- * MlirType on illegal arguments, emitting appropriate diagnostics. */
+/// Same as "mlirUnrankedMemRefTypeGet" but returns a nullptr wrapping
+/// MlirType on illegal arguments, emitting appropriate diagnostics.
 MLIR_CAPI_EXPORTED MlirType mlirUnrankedMemRefTypeGetChecked(
     MlirType elementType, unsigned memorySpace, MlirLocation loc);
 
@@ -278,8 +278,8 @@ MLIR_CAPI_EXPORTED unsigned mlirUnrankedMemrefGetMemorySpace(MlirType type);
 /// Checks whether the given type is a tuple type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsATuple(MlirType type);
 
-/** Creates a tuple type that consists of the given list of elemental types. The
- * type is owned by the context. */
+/// Creates a tuple type that consists of the given list of elemental types. The
+/// type is owned by the context.
 MLIR_CAPI_EXPORTED MlirType mlirTupleTypeGet(MlirContext ctx,
                                              intptr_t numElements,
                                              MlirType const *elements);

diff  --git a/mlir/include/mlir-c/Diagnostics.h b/mlir/include/mlir-c/Diagnostics.h
index 14206b8454e7..884c67942ef6 100644
--- a/mlir/include/mlir-c/Diagnostics.h
+++ b/mlir/include/mlir-c/Diagnostics.h
@@ -21,8 +21,8 @@
 extern "C" {
 #endif
 
-/** An opaque reference to a diagnostic, always owned by the diagnostics engine
- * (context). Must not be stored outside of the diagnostic handler. */
+/// An opaque reference to a diagnostic, always owned by the diagnostics engine
+/// (context). Must not be stored outside of the diagnostic handler.
 struct MlirDiagnostic {
   void *ptr;
 };
@@ -40,12 +40,12 @@ typedef enum MlirDiagnosticSeverity MlirDiagnosticSeverity;
 /// Opaque identifier of a diagnostic handler, useful to detach a handler.
 typedef uint64_t MlirDiagnosticHandlerID;
 
-/** Diagnostic handler type. Accepts a reference to a diagnostic, which is only
- * guaranteed to be live during the call. The handler is passed the `userData`
- * that was provided when the handler was attached to a context. If the handler
- * processed the diagnostic completely, it is expected to return success.
- * Otherwise, it is expected to return failure to indicate that other handlers
- * should attempt to process the diagnostic. */
+/// Diagnostic handler type. Accepts a reference to a diagnostic, which is only
+/// guaranteed to be live during the call. The handler is passed the `userData`
+/// that was provided when the handler was attached to a context. If the handler
+/// processed the diagnostic completely, it is expected to return success.
+/// Otherwise, it is expected to return failure to indicate that other handlers
+/// should attempt to process the diagnostic.
 typedef MlirLogicalResult (*MlirDiagnosticHandler)(MlirDiagnostic,
                                                    void *userData);
 
@@ -66,31 +66,31 @@ mlirDiagnosticGetSeverity(MlirDiagnostic diagnostic);
 MLIR_CAPI_EXPORTED intptr_t
 mlirDiagnosticGetNumNotes(MlirDiagnostic diagnostic);
 
-/** Returns `pos`-th note attached to the diagnostic. Expects `pos` to be a
- * valid zero-based index into the list of notes. */
+/// Returns `pos`-th note attached to the diagnostic. Expects `pos` to be a
+/// valid zero-based index into the list of notes.
 MLIR_CAPI_EXPORTED MlirDiagnostic
 mlirDiagnosticGetNote(MlirDiagnostic diagnostic, intptr_t pos);
 
-/** Attaches the diagnostic handler to the context. Handlers are invoked in the
- * reverse order of attachment until one of them processes the diagnostic
- * completely. When a handler is invoked it is passed the `userData` that was
- * provided when it was attached. If non-NULL, `deleteUserData` is called once
- * the system no longer needs to call the handler (for instance after the
- * handler is detached or the context is destroyed). Returns an identifier that
- * can be used to detach the handler.
- */
+/// Attaches the diagnostic handler to the context. Handlers are invoked in the
+/// reverse order of attachment until one of them processes the diagnostic
+/// completely. When a handler is invoked it is passed the `userData` that was
+/// provided when it was attached. If non-NULL, `deleteUserData` is called once
+/// the system no longer needs to call the handler (for instance after the
+/// handler is detached or the context is destroyed). Returns an identifier that
+/// can be used to detach the handler.
+
 MLIR_CAPI_EXPORTED MlirDiagnosticHandlerID mlirContextAttachDiagnosticHandler(
     MlirContext context, MlirDiagnosticHandler handler, void *userData,
     void (*deleteUserData)(void *));
 
-/** Detaches an attached diagnostic handler from the context given its
- * identifier. */
+/// Detaches an attached diagnostic handler from the context given its
+/// identifier.
 MLIR_CAPI_EXPORTED void
 mlirContextDetachDiagnosticHandler(MlirContext context,
                                    MlirDiagnosticHandlerID id);
 
-/** Emits an error at the given location through the diagnostics engine. Used
- * for testing purposes. */
+/// Emits an error at the given location through the diagnostics engine. Used
+/// for testing purposes.
 MLIR_CAPI_EXPORTED void mlirEmitError(MlirLocation location,
                                       const char *message);
 

diff  --git a/mlir/include/mlir-c/IR.h b/mlir/include/mlir-c/IR.h
index 39f42e4bf497..2af813fbcdad 100644
--- a/mlir/include/mlir-c/IR.h
+++ b/mlir/include/mlir-c/IR.h
@@ -28,18 +28,18 @@ extern "C" {
 #endif
 
 //===----------------------------------------------------------------------===//
-/** Opaque type declarations.
- *
- * Types are exposed to C bindings as structs containing opaque pointers. They
- * are not supposed to be inspected from C. This allows the underlying
- * representation to change without affecting the API users. The use of structs
- * instead of typedefs enables some type safety as structs are not implicitly
- * convertible to each other.
- *
- * Instances of these types may or may not own the underlying object (most often
- * only point to an IR fragment without owning it). The ownership semantics is
- * defined by how an instance of the type was obtained.
- */
+/// Opaque type declarations.
+///
+/// Types are exposed to C bindings as structs containing opaque pointers. They
+/// are not supposed to be inspected from C. This allows the underlying
+/// representation to change without affecting the API users. The use of structs
+/// instead of typedefs enables some type safety as structs are not implicitly
+/// convertible to each other.
+///
+/// Instances of these types may or may not own the underlying object (most
+/// often only point to an IR fragment without owning it). The ownership
+/// semantics is defined by how an instance of the type was obtained.
+
 //===----------------------------------------------------------------------===//
 
 #define DEFINE_C_API_STRUCT(name, storage)                                     \
@@ -64,11 +64,11 @@ DEFINE_C_API_STRUCT(MlirValue, const void);
 
 #undef DEFINE_C_API_STRUCT
 
-/** Named MLIR attribute.
- *
- * A named attribute is essentially a (name, attribute) pair where the name is
- * a string.
- */
+/// Named MLIR attribute.
+///
+/// A named attribute is essentially a (name, attribute) pair where the name is
+/// a string.
+
 struct MlirNamedAttribute {
   MlirIdentifier name;
   MlirAttribute attribute;
@@ -101,21 +101,21 @@ mlirContextSetAllowUnregisteredDialects(MlirContext context, bool allow);
 MLIR_CAPI_EXPORTED bool
 mlirContextGetAllowUnregisteredDialects(MlirContext context);
 
-/** Returns the number of dialects registered with the given context. A
- * registered dialect will be loaded if needed by the parser. */
+/// Returns the number of dialects registered with the given context. A
+/// registered dialect will be loaded if needed by the parser.
 MLIR_CAPI_EXPORTED intptr_t
 mlirContextGetNumRegisteredDialects(MlirContext context);
 
-/** Returns the number of dialects loaded by the context.
- */
+/// Returns the number of dialects loaded by the context.
+
 MLIR_CAPI_EXPORTED intptr_t
 mlirContextGetNumLoadedDialects(MlirContext context);
 
-/** Gets the dialect instance owned by the given context using the dialect
- * namespace to identify it, loads (i.e., constructs the instance of) the
- * dialect if necessary. If the dialect is not registered with the context,
- * returns null. Use mlirContextLoad<Name>Dialect to load an unregistered
- * dialect. */
+/// Gets the dialect instance owned by the given context using the dialect
+/// namespace to identify it, loads (i.e., constructs the instance of) the
+/// dialect if necessary. If the dialect is not registered with the context,
+/// returns null. Use mlirContextLoad<Name>Dialect to load an unregistered
+/// dialect.
 MLIR_CAPI_EXPORTED MlirDialect mlirContextGetOrLoadDialect(MlirContext context,
                                                            MlirStringRef name);
 
@@ -131,8 +131,8 @@ static inline bool mlirDialectIsNull(MlirDialect dialect) {
   return !dialect.ptr;
 }
 
-/** Checks if two dialects that belong to the same context are equal. Dialects
- * from 
diff erent contexts will not compare equal. */
+/// Checks if two dialects that belong to the same context are equal. Dialects
+/// from 
diff erent contexts will not compare equal.
 MLIR_CAPI_EXPORTED bool mlirDialectEqual(MlirDialect dialect1,
                                          MlirDialect dialect2);
 
@@ -165,9 +165,9 @@ static inline bool mlirLocationIsNull(MlirLocation location) {
 /// Checks if two locations are equal.
 MLIR_CAPI_EXPORTED bool mlirLocationEqual(MlirLocation l1, MlirLocation l2);
 
-/** Prints a location by sending chunks of the string representation and
- * forwarding `userData to `callback`. Note that the callback may be called
- * several times with consecutive chunks of the string. */
+/// Prints a location by sending chunks of the string representation and
+/// forwarding `userData to `callback`. Note that the callback may be called
+/// several times with consecutive chunks of the string.
 MLIR_CAPI_EXPORTED void mlirLocationPrint(MlirLocation location,
                                           MlirStringCallback callback,
                                           void *userData);
@@ -202,16 +202,16 @@ MLIR_CAPI_EXPORTED MlirOperation mlirModuleGetOperation(MlirModule module);
 // Operation state.
 //===----------------------------------------------------------------------===//
 
-/** An auxiliary class for constructing operations.
- *
- * This class contains all the information necessary to construct the operation.
- * It owns the MlirRegions it has pointers to and does not own anything else.
- * By default, the state can be constructed from a name and location, the latter
- * being also used to access the context, and has no other components. These
- * components can be added progressively until the operation is constructed.
- * Users are not expected to rely on the internals of this class and should use
- * mlirOperationState* functions instead.
- */
+/// An auxiliary class for constructing operations.
+///
+/// This class contains all the information necessary to construct the
+/// operation. It owns the MlirRegions it has pointers to and does not own
+/// anything else. By default, the state can be constructed from a name and
+/// location, the latter being also used to access the context, and has no other
+/// components. These components can be added progressively until the operation
+/// is constructed. Users are not expected to rely on the internals of this
+/// class and should use mlirOperationState* functions instead.
+
 struct MlirOperationState {
   MlirStringRef name;
   MlirLocation location;
@@ -265,24 +265,24 @@ mlirOperationStateEnableResultTypeInference(MlirOperationState *state);
 // functions to maximize the possibility of compatibility over time.
 //===----------------------------------------------------------------------===//
 
-/** Creates new printing flags with defaults, intended for customization.
- * Must be freed with a call to mlirOpPrintingFlagsDestroy(). */
+/// Creates new printing flags with defaults, intended for customization.
+/// Must be freed with a call to mlirOpPrintingFlagsDestroy().
 MLIR_CAPI_EXPORTED MlirOpPrintingFlags mlirOpPrintingFlagsCreate();
 
 /// Destroys printing flags created with mlirOpPrintingFlagsCreate.
 MLIR_CAPI_EXPORTED void mlirOpPrintingFlagsDestroy(MlirOpPrintingFlags flags);
 
-/** Enables the elision of large elements attributes by printing a lexically
- * valid but otherwise meaningless form instead of the element data. The
- * `largeElementLimit` is used to configure what is considered to be a "large"
- * ElementsAttr by providing an upper limit to the number of elements. */
+/// Enables the elision of large elements attributes by printing a lexically
+/// valid but otherwise meaningless form instead of the element data. The
+/// `largeElementLimit` is used to configure what is considered to be a "large"
+/// ElementsAttr by providing an upper limit to the number of elements.
 MLIR_CAPI_EXPORTED void
 mlirOpPrintingFlagsElideLargeElementsAttrs(MlirOpPrintingFlags flags,
                                            intptr_t largeElementLimit);
 
-/** Enable printing of debug information. If 'prettyForm' is set to true,
- * debug information is printed in a more readable 'pretty' form. Note: The
- * IR generated with 'prettyForm' is not parsable. */
+/// Enable printing of debug information. If 'prettyForm' is set to true,
+/// debug information is printed in a more readable 'pretty' form. Note: The
+/// IR generated with 'prettyForm' is not parsable.
 MLIR_CAPI_EXPORTED void
 mlirOpPrintingFlagsEnableDebugInfo(MlirOpPrintingFlags flags, bool prettyForm);
 
@@ -290,10 +290,10 @@ mlirOpPrintingFlagsEnableDebugInfo(MlirOpPrintingFlags flags, bool prettyForm);
 MLIR_CAPI_EXPORTED void
 mlirOpPrintingFlagsPrintGenericOpForm(MlirOpPrintingFlags flags);
 
-/** Use local scope when printing the operation. This allows for using the
- * printer in a more localized and thread-safe setting, but may not
- * necessarily be identical to what the IR will look like when dumping
- * the full module. */
+/// Use local scope when printing the operation. This allows for using the
+/// printer in a more localized and thread-safe setting, but may not
+/// necessarily be identical to what the IR will look like when dumping
+/// the full module.
 MLIR_CAPI_EXPORTED void
 mlirOpPrintingFlagsUseLocalScope(MlirOpPrintingFlags flags);
 
@@ -317,20 +317,20 @@ MLIR_CAPI_EXPORTED void mlirOperationDestroy(MlirOperation op);
 /// Checks whether the underlying operation is null.
 static inline bool mlirOperationIsNull(MlirOperation op) { return !op.ptr; }
 
-/** Checks whether two operation handles point to the same operation. This does
- * not perform deep comparison. */
+/// Checks whether two operation handles point to the same operation. This does
+/// not perform deep comparison.
 MLIR_CAPI_EXPORTED bool mlirOperationEqual(MlirOperation op,
                                            MlirOperation other);
 
 /// Gets the name of the operation as an identifier.
 MLIR_CAPI_EXPORTED MlirIdentifier mlirOperationGetName(MlirOperation op);
 
-/** Gets the block that owns this operation, returning null if the operation is
- * not owned. */
+/// Gets the block that owns this operation, returning null if the operation is
+/// not owned.
 MLIR_CAPI_EXPORTED MlirBlock mlirOperationGetBlock(MlirOperation op);
 
-/** Gets the operation that owns this operation, returning null if the operation
- * is not owned. */
+/// Gets the operation that owns this operation, returning null if the operation
+/// is not owned.
 MLIR_CAPI_EXPORTED MlirOperation
 mlirOperationGetParentOperation(MlirOperation op);
 
@@ -341,8 +341,8 @@ MLIR_CAPI_EXPORTED intptr_t mlirOperationGetNumRegions(MlirOperation op);
 MLIR_CAPI_EXPORTED MlirRegion mlirOperationGetRegion(MlirOperation op,
                                                      intptr_t pos);
 
-/** Returns an operation immediately following the given operation it its
- * enclosing block. */
+/// Returns an operation immediately following the given operation it its
+/// enclosing block.
 MLIR_CAPI_EXPORTED MlirOperation mlirOperationGetNextInBlock(MlirOperation op);
 
 /// Returns the number of operands of the operation.
@@ -377,26 +377,26 @@ mlirOperationGetAttribute(MlirOperation op, intptr_t pos);
 MLIR_CAPI_EXPORTED MlirAttribute
 mlirOperationGetAttributeByName(MlirOperation op, MlirStringRef name);
 
-/** Sets an attribute by name, replacing the existing if it exists or
- * adding a new one otherwise. */
+/// Sets an attribute by name, replacing the existing if it exists or
+/// adding a new one otherwise.
 MLIR_CAPI_EXPORTED void mlirOperationSetAttributeByName(MlirOperation op,
                                                         MlirStringRef name,
                                                         MlirAttribute attr);
 
-/** Removes an attribute by name. Returns false if the attribute was not found
- * and true if removed. */
+/// Removes an attribute by name. Returns false if the attribute was not found
+/// and true if removed.
 MLIR_CAPI_EXPORTED bool mlirOperationRemoveAttributeByName(MlirOperation op,
                                                            MlirStringRef name);
 
-/** Prints an operation by sending chunks of the string representation and
- * forwarding `userData to `callback`. Note that the callback may be called
- * several times with consecutive chunks of the string. */
+/// Prints an operation by sending chunks of the string representation and
+/// forwarding `userData to `callback`. Note that the callback may be called
+/// several times with consecutive chunks of the string.
 MLIR_CAPI_EXPORTED void mlirOperationPrint(MlirOperation op,
                                            MlirStringCallback callback,
                                            void *userData);
 
-/** Same as mlirOperationPrint but accepts flags controlling the printing
- * behavior. */
+/// Same as mlirOperationPrint but accepts flags controlling the printing
+/// behavior.
 MLIR_CAPI_EXPORTED void mlirOperationPrintWithFlags(MlirOperation op,
                                                     MlirOpPrintingFlags flags,
                                                     MlirStringCallback callback,
@@ -428,22 +428,22 @@ MLIR_CAPI_EXPORTED MlirBlock mlirRegionGetFirstBlock(MlirRegion region);
 MLIR_CAPI_EXPORTED void mlirRegionAppendOwnedBlock(MlirRegion region,
                                                    MlirBlock block);
 
-/** Takes a block owned by the caller and inserts it at `pos` to the given
- * region. This is an expensive operation that linearly scans the region, prefer
- * insertAfter/Before instead. */
+/// Takes a block owned by the caller and inserts it at `pos` to the given
+/// region. This is an expensive operation that linearly scans the region,
+/// prefer insertAfter/Before instead.
 MLIR_CAPI_EXPORTED void
 mlirRegionInsertOwnedBlock(MlirRegion region, intptr_t pos, MlirBlock block);
 
-/** Takes a block owned by the caller and inserts it after the (non-owned)
- * reference block in the given region. The reference block must belong to the
- * region. If the reference block is null, prepends the block to the region. */
+/// Takes a block owned by the caller and inserts it after the (non-owned)
+/// reference block in the given region. The reference block must belong to the
+/// region. If the reference block is null, prepends the block to the region.
 MLIR_CAPI_EXPORTED void mlirRegionInsertOwnedBlockAfter(MlirRegion region,
                                                         MlirBlock reference,
                                                         MlirBlock block);
 
-/** Takes a block owned by the caller and inserts it before the (non-owned)
- * reference block in the given region. The reference block must belong to the
- * region. If the reference block is null, appends the block to the region. */
+/// Takes a block owned by the caller and inserts it before the (non-owned)
+/// reference block in the given region. The reference block must belong to the
+/// region. If the reference block is null, appends the block to the region.
 MLIR_CAPI_EXPORTED void mlirRegionInsertOwnedBlockBefore(MlirRegion region,
                                                          MlirBlock reference,
                                                          MlirBlock block);
@@ -452,8 +452,8 @@ MLIR_CAPI_EXPORTED void mlirRegionInsertOwnedBlockBefore(MlirRegion region,
 // Block API.
 //===----------------------------------------------------------------------===//
 
-/** Creates a new empty block with the given argument types and transfers
- * ownership to the caller. */
+/// Creates a new empty block with the given argument types and transfers
+/// ownership to the caller.
 MLIR_CAPI_EXPORTED MlirBlock mlirBlockCreate(intptr_t nArgs,
                                              MlirType const *args);
 
@@ -463,12 +463,12 @@ MLIR_CAPI_EXPORTED void mlirBlockDestroy(MlirBlock block);
 /// Checks whether a block is null.
 static inline bool mlirBlockIsNull(MlirBlock block) { return !block.ptr; }
 
-/** Checks whether two blocks handles point to the same block. This does not
- * perform deep comparison. */
+/// Checks whether two blocks handles point to the same block. This does not
+/// perform deep comparison.
 MLIR_CAPI_EXPORTED bool mlirBlockEqual(MlirBlock block, MlirBlock other);
 
-/** Returns the block immediately following the given block in its parent
- * region. */
+/// Returns the block immediately following the given block in its parent
+/// region.
 MLIR_CAPI_EXPORTED MlirBlock mlirBlockGetNextInRegion(MlirBlock block);
 
 /// Returns the first operation in the block.
@@ -481,23 +481,23 @@ MLIR_CAPI_EXPORTED MlirOperation mlirBlockGetTerminator(MlirBlock block);
 MLIR_CAPI_EXPORTED void mlirBlockAppendOwnedOperation(MlirBlock block,
                                                       MlirOperation operation);
 
-/** Takes an operation owned by the caller and inserts it as `pos` to the block.
-   This is an expensive operation that scans the block linearly, prefer
-   insertBefore/After instead. */
+/// Takes an operation owned by the caller and inserts it as `pos` to the block.
+/// This is an expensive operation that scans the block linearly, prefer
+/// insertBefore/After instead.
 MLIR_CAPI_EXPORTED void mlirBlockInsertOwnedOperation(MlirBlock block,
                                                       intptr_t pos,
                                                       MlirOperation operation);
 
-/** Takes an operation owned by the caller and inserts it after the (non-owned)
- * reference operation in the given block. If the reference is null, prepends
- * the operation. Otherwise, the reference must belong to the block. */
+/// Takes an operation owned by the caller and inserts it after the (non-owned)
+/// reference operation in the given block. If the reference is null, prepends
+/// the operation. Otherwise, the reference must belong to the block.
 MLIR_CAPI_EXPORTED void
 mlirBlockInsertOwnedOperationAfter(MlirBlock block, MlirOperation reference,
                                    MlirOperation operation);
 
-/** Takes an operation owned by the caller and inserts it before the (non-owned)
- * reference operation in the given block. If the reference is null, appends the
- * operation. Otherwise, the reference must belong to the block. */
+/// Takes an operation owned by the caller and inserts it before the (non-owned)
+/// reference operation in the given block. If the reference is null, appends
+/// the operation. Otherwise, the reference must belong to the block.
 MLIR_CAPI_EXPORTED void
 mlirBlockInsertOwnedOperationBefore(MlirBlock block, MlirOperation reference,
                                     MlirOperation operation);
@@ -509,9 +509,9 @@ MLIR_CAPI_EXPORTED intptr_t mlirBlockGetNumArguments(MlirBlock block);
 MLIR_CAPI_EXPORTED MlirValue mlirBlockGetArgument(MlirBlock block,
                                                   intptr_t pos);
 
-/** Prints a block by sending chunks of the string representation and
- * forwarding `userData to `callback`. Note that the callback may be called
- * several times with consecutive chunks of the string. */
+/// Prints a block by sending chunks of the string representation and
+/// forwarding `userData to `callback`. Note that the callback may be called
+/// several times with consecutive chunks of the string.
 MLIR_CAPI_EXPORTED void
 mlirBlockPrint(MlirBlock block, MlirStringCallback callback, void *userData);
 
@@ -531,8 +531,8 @@ MLIR_CAPI_EXPORTED bool mlirValueIsABlockArgument(MlirValue value);
 /// Returns 1 if the value is an operation result, 0 otherwise.
 MLIR_CAPI_EXPORTED bool mlirValueIsAOpResult(MlirValue value);
 
-/** Returns the block in which this value is defined as an argument. Asserts if
- * the value is not a block argument. */
+/// Returns the block in which this value is defined as an argument. Asserts if
+/// the value is not a block argument.
 MLIR_CAPI_EXPORTED MlirBlock mlirBlockArgumentGetOwner(MlirValue value);
 
 /// Returns the position of the value in the argument list of its block.
@@ -542,12 +542,12 @@ MLIR_CAPI_EXPORTED intptr_t mlirBlockArgumentGetArgNumber(MlirValue value);
 MLIR_CAPI_EXPORTED void mlirBlockArgumentSetType(MlirValue value,
                                                  MlirType type);
 
-/** Returns an operation that produced this value as its result. Asserts if the
- * value is not an op result. */
+/// Returns an operation that produced this value as its result. Asserts if the
+/// value is not an op result.
 MLIR_CAPI_EXPORTED MlirOperation mlirOpResultGetOwner(MlirValue value);
 
-/** Returns the position of the value in the list of results of the operation
- * that produced it. */
+/// Returns the position of the value in the list of results of the operation
+/// that produced it.
 MLIR_CAPI_EXPORTED intptr_t mlirOpResultGetResultNumber(MlirValue value);
 
 /// Returns the type of the value.
@@ -556,9 +556,9 @@ MLIR_CAPI_EXPORTED MlirType mlirValueGetType(MlirValue value);
 /// Prints the value to the standard error stream.
 MLIR_CAPI_EXPORTED void mlirValueDump(MlirValue value);
 
-/** Prints a value by sending chunks of the string representation and
- * forwarding `userData to `callback`. Note that the callback may be called
- * several times with consecutive chunks of the string. */
+/// Prints a value by sending chunks of the string representation and
+/// forwarding `userData to `callback`. Note that the callback may be called
+/// several times with consecutive chunks of the string.
 MLIR_CAPI_EXPORTED void
 mlirValuePrint(MlirValue value, MlirStringCallback callback, void *userData);
 
@@ -579,9 +579,9 @@ static inline bool mlirTypeIsNull(MlirType type) { return !type.ptr; }
 /// Checks if two types are equal.
 MLIR_CAPI_EXPORTED bool mlirTypeEqual(MlirType t1, MlirType t2);
 
-/** Prints a location by sending chunks of the string representation and
- * forwarding `userData to `callback`. Note that the callback may be called
- * several times with consecutive chunks of the string. */
+/// Prints a location by sending chunks of the string representation and
+/// forwarding `userData to `callback`. Note that the callback may be called
+/// several times with consecutive chunks of the string.
 MLIR_CAPI_EXPORTED void
 mlirTypePrint(MlirType type, MlirStringCallback callback, void *userData);
 
@@ -608,9 +608,9 @@ static inline bool mlirAttributeIsNull(MlirAttribute attr) { return !attr.ptr; }
 /// Checks if two attributes are equal.
 MLIR_CAPI_EXPORTED bool mlirAttributeEqual(MlirAttribute a1, MlirAttribute a2);
 
-/** Prints an attribute by sending chunks of the string representation and
- * forwarding `userData to `callback`. Note that the callback may be called
- * several times with consecutive chunks of the string. */
+/// Prints an attribute by sending chunks of the string representation and
+/// forwarding `userData to `callback`. Note that the callback may be called
+/// several times with consecutive chunks of the string.
 MLIR_CAPI_EXPORTED void mlirAttributePrint(MlirAttribute attr,
                                            MlirStringCallback callback,
                                            void *userData);

diff  --git a/mlir/include/mlir-c/Pass.h b/mlir/include/mlir-c/Pass.h
index 1b408b6361ed..9669a53cd139 100644
--- a/mlir/include/mlir-c/Pass.h
+++ b/mlir/include/mlir-c/Pass.h
@@ -22,17 +22,16 @@ extern "C" {
 #endif
 
 //===----------------------------------------------------------------------===//
-/** Opaque type declarations.
- *
- * Types are exposed to C bindings as structs containing opaque pointers. They
- * are not supposed to be inspected from C. This allows the underlying
- * representation to change without affecting the API users. The use of structs
- * instead of typedefs enables some type safety as structs are not implicitly
- * convertible to each other.
- *
- * Instances of these types may or may not own the underlying object. The
- * ownership semantics is defined by how an instance of the type was obtained.
- */
+// Opaque type declarations.
+//
+// Types are exposed to C bindings as structs containing opaque pointers. They
+// are not supposed to be inspected from C. This allows the underlying
+// representation to change without affecting the API users. The use of structs
+// instead of typedefs enables some type safety as structs are not implicitly
+// convertible to each other.
+//
+// Instances of these types may or may not own the underlying object. The
+// ownership semantics is defined by how an instance of the type was obtained.
 //===----------------------------------------------------------------------===//
 
 #define DEFINE_C_API_STRUCT(name, storage)                                     \
@@ -66,42 +65,42 @@ mlirPassManagerGetAsOpPassManager(MlirPassManager passManager);
 MLIR_CAPI_EXPORTED MlirLogicalResult
 mlirPassManagerRun(MlirPassManager passManager, MlirModule module);
 
-/** Nest an OpPassManager under the top-level PassManager, the nested
- * passmanager will only run on operations matching the provided name.
- * The returned OpPassManager will be destroyed when the parent is destroyed.
- * To further nest more OpPassManager under the newly returned one, see
- * `mlirOpPassManagerNest` below. */
+/// Nest an OpPassManager under the top-level PassManager, the nested
+/// passmanager will only run on operations matching the provided name.
+/// The returned OpPassManager will be destroyed when the parent is destroyed.
+/// To further nest more OpPassManager under the newly returned one, see
+/// `mlirOpPassManagerNest` below.
 MLIR_CAPI_EXPORTED MlirOpPassManager mlirPassManagerGetNestedUnder(
     MlirPassManager passManager, MlirStringRef operationName);
 
-/** Nest an OpPassManager under the provided OpPassManager, the nested
- * passmanager will only run on operations matching the provided name.
- * The returned OpPassManager will be destroyed when the parent is destroyed. */
+/// Nest an OpPassManager under the provided OpPassManager, the nested
+/// passmanager will only run on operations matching the provided name.
+/// The returned OpPassManager will be destroyed when the parent is destroyed.
 MLIR_CAPI_EXPORTED MlirOpPassManager mlirOpPassManagerGetNestedUnder(
     MlirOpPassManager passManager, MlirStringRef operationName);
 
-/** Add a pass and transfer ownership to the provided top-level mlirPassManager.
- * If the pass is not a generic operation pass or a ModulePass, a new
- * OpPassManager is implicitly nested under the provided PassManager. */
+/// Add a pass and transfer ownership to the provided top-level mlirPassManager.
+/// If the pass is not a generic operation pass or a ModulePass, a new
+/// OpPassManager is implicitly nested under the provided PassManager.
 MLIR_CAPI_EXPORTED void mlirPassManagerAddOwnedPass(MlirPassManager passManager,
                                                     MlirPass pass);
 
-/** Add a pass and transfer ownership to the provided mlirOpPassManager. If the
- * pass is not a generic operation pass or matching the type of the provided
- * PassManager, a new OpPassManager is implicitly nested under the provided
- * PassManager. */
+/// Add a pass and transfer ownership to the provided mlirOpPassManager. If the
+/// pass is not a generic operation pass or matching the type of the provided
+/// PassManager, a new OpPassManager is implicitly nested under the provided
+/// PassManager.
 MLIR_CAPI_EXPORTED void
 mlirOpPassManagerAddOwnedPass(MlirOpPassManager passManager, MlirPass pass);
 
-/** Print a textual MLIR pass pipeline by sending chunks of the string
- * representation and forwarding `userData to `callback`. Note that the callback
- * may be called several times with consecutive chunks of the string. */
+/// Print a textual MLIR pass pipeline by sending chunks of the string
+/// representation and forwarding `userData to `callback`. Note that the
+/// callback may be called several times with consecutive chunks of the string.
 MLIR_CAPI_EXPORTED void mlirPrintPassPipeline(MlirOpPassManager passManager,
                                               MlirStringCallback callback,
                                               void *userData);
 
-/** Parse a textual MLIR pass pipeline and add it to the provided OpPassManager.
- */
+/// Parse a textual MLIR pass pipeline and add it to the provided OpPassManager.
+
 MLIR_CAPI_EXPORTED MlirLogicalResult
 mlirParsePassPipeline(MlirOpPassManager passManager, MlirStringRef pipeline);
 

diff  --git a/mlir/include/mlir-c/Support.h b/mlir/include/mlir-c/Support.h
index 6b5927afc431..340f8ec8bebf 100644
--- a/mlir/include/mlir-c/Support.h
+++ b/mlir/include/mlir-c/Support.h
@@ -46,18 +46,18 @@ extern "C" {
 // MlirStringRef.
 //===----------------------------------------------------------------------===//
 
-/** A pointer to a sized fragment of a string, not necessarily null-terminated.
- * Does not own the underlying string. This is equivalent to llvm::StringRef.
- */
+/// A pointer to a sized fragment of a string, not necessarily null-terminated.
+/// Does not own the underlying string. This is equivalent to llvm::StringRef.
+
 struct MlirStringRef {
-  const char *data; /**< Pointer to the first symbol. */
-  size_t length;    /**< Length of the fragment. */
+  const char *data; ///< Pointer to the first symbol.
+  size_t length;    ///< Length of the fragment.
 };
 typedef struct MlirStringRef MlirStringRef;
 
-/** Constructs a string reference from the pointer and length. The pointer need
- * not reference to a null-terminated string.
- */
+/// Constructs a string reference from the pointer and length. The pointer need
+/// not reference to a null-terminated string.
+
 inline static MlirStringRef mlirStringRefCreate(const char *str,
                                                 size_t length) {
   MlirStringRef result;
@@ -66,30 +66,28 @@ inline static MlirStringRef mlirStringRefCreate(const char *str,
   return result;
 }
 
-/** Constructs a string reference from a null-terminated C string. Prefer
- * mlirStringRefCreate if the length of the string is known.
- */
+/// Constructs a string reference from a null-terminated C string. Prefer
+/// mlirStringRefCreate if the length of the string is known.
 MLIR_CAPI_EXPORTED MlirStringRef
 mlirStringRefCreateFromCString(const char *str);
 
-/** A callback for returning string references.
- *
- * This function is called back by the functions that need to return a reference
- * to the portion of the string with the following arguments:
- *   - an MlirStringRef representing the current portion of the string
- *   - a pointer to user data forwarded from the printing call.
- */
+/// A callback for returning string references.
+///
+/// This function is called back by the functions that need to return a
+/// reference to the portion of the string with the following arguments:
+///  - an MlirStringRef representing the current portion of the string
+///  - a pointer to user data forwarded from the printing call.
 typedef void (*MlirStringCallback)(MlirStringRef, void *);
 
 //===----------------------------------------------------------------------===//
 // MlirLogicalResult.
 //===----------------------------------------------------------------------===//
 
-/** A logical result value, essentially a boolean with named states. LLVM
- * convention for using boolean values to designate success or failure of an
- * operation is a moving target, so MLIR opted for an explicit class.
- * Instances of MlirLogicalResult must only be inspected using the associated
- * functions. */
+/// A logical result value, essentially a boolean with named states. LLVM
+/// convention for using boolean values to designate success or failure of an
+/// operation is a moving target, so MLIR opted for an explicit class.
+/// Instances of MlirLogicalResult must only be inspected using the associated
+/// functions.
 struct MlirLogicalResult {
   int8_t value;
 };


        


More information about the Mlir-commits mailing list