Use `const` for array pointers in `StandardTypes.h`
authorGeorge <989903+GeorgeLyon@users.noreply.github.com>
Sun, 29 Nov 2020 18:12:11 +0000 (10:12 -0800)
committerGeorge <989903+GeorgeLyon@users.noreply.github.com>
Sun, 29 Nov 2020 18:13:35 +0000 (10:13 -0800)
This mirrors the underlying C++ api.

Reviewed By: mehdi_amini

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

mlir/include/mlir-c/StandardTypes.h
mlir/lib/CAPI/IR/StandardTypes.cpp

index 7b51ad8..9839a19 100644 (file)
@@ -164,13 +164,14 @@ MLIR_CAPI_EXPORTED int 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. */
-MLIR_CAPI_EXPORTED MlirType mlirVectorTypeGet(intptr_t rank, int64_t *shape,
+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. */
 MLIR_CAPI_EXPORTED MlirType mlirVectorTypeGetChecked(intptr_t rank,
-                                                     int64_t *shape,
+                                                     const int64_t *shape,
                                                      MlirType elementType,
                                                      MlirLocation loc);
 
@@ -190,13 +191,13 @@ MLIR_CAPI_EXPORTED int 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. */
 MLIR_CAPI_EXPORTED MlirType mlirRankedTensorTypeGet(intptr_t rank,
-                                                    int64_t *shape,
+                                                    const int64_t *shape,
                                                     MlirType elementType);
 
 /** Same as "mlirRankedTensorTypeGet" but returns a nullptr wrapping MlirType on
  * illegal arguments, emitting appropriate diagnostics. */
 MLIR_CAPI_EXPORTED MlirType mlirRankedTensorTypeGetChecked(intptr_t rank,
-                                                           int64_t *shape,
+                                                           const int64_t *shape,
                                                            MlirType elementType,
                                                            MlirLocation loc);
 
@@ -222,11 +223,9 @@ MLIR_CAPI_EXPORTED int 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. */
-MLIR_CAPI_EXPORTED MlirType mlirMemRefTypeGet(MlirType elementType,
-                                              intptr_t rank, int64_t *shape,
-                                              intptr_t numMaps,
-                                              MlirAttribute const *affineMaps,
-                                              unsigned memorySpace);
+MLIR_CAPI_EXPORTED MlirType mlirMemRefTypeGet(
+    MlirType elementType, intptr_t rank, const int64_t *shape, intptr_t numMaps,
+    MlirAttribute const *affineMaps, unsigned memorySpace);
 
 /** 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,
@@ -234,14 +233,14 @@ MLIR_CAPI_EXPORTED MlirType mlirMemRefTypeGet(MlirType elementType,
  * the context. */
 MLIR_CAPI_EXPORTED MlirType mlirMemRefTypeContiguousGet(MlirType elementType,
                                                         intptr_t rank,
-                                                        int64_t *shape,
+                                                        const int64_t *shape,
                                                         unsigned memorySpace);
 
 /** 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, int64_t *shape, unsigned memorySpace,
-    MlirLocation loc);
+    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. */
index 9253058..1f9b56b 100644 (file)
@@ -162,14 +162,14 @@ int mlirShapedTypeIsDynamicStrideOrOffset(int64_t val) {
 
 int mlirTypeIsAVector(MlirType type) { return unwrap(type).isa<VectorType>(); }
 
-MlirType mlirVectorTypeGet(intptr_t rank, int64_t *shape,
+MlirType mlirVectorTypeGet(intptr_t rank, const int64_t *shape,
                            MlirType elementType) {
   return wrap(
       VectorType::get(llvm::makeArrayRef(shape, static_cast<size_t>(rank)),
                       unwrap(elementType)));
 }
 
-MlirType mlirVectorTypeGetChecked(intptr_t rank, int64_t *shape,
+MlirType mlirVectorTypeGetChecked(intptr_t rank, const int64_t *shape,
                                   MlirType elementType, MlirLocation loc) {
   return wrap(VectorType::getChecked(
       llvm::makeArrayRef(shape, static_cast<size_t>(rank)), unwrap(elementType),
@@ -190,14 +190,14 @@ int mlirTypeIsAUnrankedTensor(MlirType type) {
   return unwrap(type).isa<UnrankedTensorType>();
 }
 
-MlirType mlirRankedTensorTypeGet(intptr_t rank, int64_t *shape,
+MlirType mlirRankedTensorTypeGet(intptr_t rank, const int64_t *shape,
                                  MlirType elementType) {
   return wrap(RankedTensorType::get(
       llvm::makeArrayRef(shape, static_cast<size_t>(rank)),
       unwrap(elementType)));
 }
 
-MlirType mlirRankedTensorTypeGetChecked(intptr_t rank, int64_t *shape,
+MlirType mlirRankedTensorTypeGetChecked(intptr_t rank, const int64_t *shape,
                                         MlirType elementType,
                                         MlirLocation loc) {
   return wrap(RankedTensorType::getChecked(
@@ -220,8 +220,9 @@ MlirType mlirUnrankedTensorTypeGetChecked(MlirType elementType,
 
 int mlirTypeIsAMemRef(MlirType type) { return unwrap(type).isa<MemRefType>(); }
 
-MlirType mlirMemRefTypeGet(MlirType elementType, intptr_t rank, int64_t *shape,
-                           intptr_t numMaps, MlirAffineMap const *affineMaps,
+MlirType mlirMemRefTypeGet(MlirType elementType, intptr_t rank,
+                           const int64_t *shape, intptr_t numMaps,
+                           MlirAffineMap const *affineMaps,
                            unsigned memorySpace) {
   SmallVector<AffineMap, 1> maps;
   (void)unwrapList(numMaps, affineMaps, maps);
@@ -231,14 +232,15 @@ MlirType mlirMemRefTypeGet(MlirType elementType, intptr_t rank, int64_t *shape,
 }
 
 MlirType mlirMemRefTypeContiguousGet(MlirType elementType, intptr_t rank,
-                                     int64_t *shape, unsigned memorySpace) {
+                                     const int64_t *shape,
+                                     unsigned memorySpace) {
   return wrap(
       MemRefType::get(llvm::makeArrayRef(shape, static_cast<size_t>(rank)),
                       unwrap(elementType), llvm::None, memorySpace));
 }
 
 MlirType mlirMemRefTypeContiguousGetChecked(MlirType elementType, intptr_t rank,
-                                            int64_t *shape,
+                                            const int64_t *shape,
                                             unsigned memorySpace,
                                             MlirLocation loc) {
   return wrap(MemRefType::getChecked(